<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MTB CAT1 Peripheral driver library: Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MTB CAT1 Peripheral driver library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__canfd__functions.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Functions<div class="ingroups"><a class="el" href="group__group__canfd.html">CAN FD       (CAN with Flexible Data-Rate)</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaef605757cd0918a4b4dc2ee845379eb1"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#gaef605757cd0918a4b4dc2ee845379eb1">Cy_CANFD_Enable</a> (CANFD_Type *base, uint32_t channelMask)</td></tr>
<tr class="memdesc:gaef605757cd0918a4b4dc2ee845379eb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the CAN FD channels.  <a href="#gaef605757cd0918a4b4dc2ee845379eb1">More...</a><br /></td></tr>
<tr class="separator:gaef605757cd0918a4b4dc2ee845379eb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ca44fd1c99331175e36948009c89594"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE <a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga9ca44fd1c99331175e36948009c89594">Cy_CANFD_Disable</a> (CANFD_Type *base, uint32_t channelMask)</td></tr>
<tr class="memdesc:ga9ca44fd1c99331175e36948009c89594"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the CAN FD channels to stop providing clocks to un-used CAN channels for power saving with this functionality.  <a href="#ga9ca44fd1c99331175e36948009c89594">More...</a><br /></td></tr>
<tr class="separator:ga9ca44fd1c99331175e36948009c89594"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a0dc6120b6482856070e924a54af502"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga2a0dc6120b6482856070e924a54af502">Cy_CANFD_EnableMRAM</a> (CANFD_Type *base, uint32_t channelMask, uint16_t delay)</td></tr>
<tr class="memdesc:ga2a0dc6120b6482856070e924a54af502"><td class="mdescLeft">&#160;</td><td class="mdescRight">Switches MRAM on and enables the channels.  <a href="#ga2a0dc6120b6482856070e924a54af502">More...</a><br /></td></tr>
<tr class="separator:ga2a0dc6120b6482856070e924a54af502"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5e42f9c965d044677e0fef5ec1465145"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE <a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga5e42f9c965d044677e0fef5ec1465145">Cy_CANFD_DisableMRAM</a> (CANFD_Type *base)</td></tr>
<tr class="memdesc:ga5e42f9c965d044677e0fef5ec1465145"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the channels and switches MRAM off.  <a href="#ga5e42f9c965d044677e0fef5ec1465145">More...</a><br /></td></tr>
<tr class="separator:ga5e42f9c965d044677e0fef5ec1465145"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga083d20b3babeadd559f43b7fca7176aa"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga083d20b3babeadd559f43b7fca7176aa">Cy_CANFD_SetBitrate</a> (CANFD_Type *base, uint32_t chan, const <a class="el" href="structcy__stc__canfd__bitrate__t.html">cy_stc_canfd_bitrate_t</a> *bitrate)</td></tr>
<tr class="memdesc:ga083d20b3babeadd559f43b7fca7176aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets Nominal Bit Timing and Prescaler Register parameters: -Nominal Time segment after sample point; -Nominal Time segment before sample point; -Nominal Baud Rate Prescaler; -Nominal Synchronization Jump Width.  <a href="#ga083d20b3babeadd559f43b7fca7176aa">More...</a><br /></td></tr>
<tr class="separator:ga083d20b3babeadd559f43b7fca7176aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0839583688841c76449239d93f305381"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga0839583688841c76449239d93f305381">Cy_CANFD_SetFastBitrate</a> (CANFD_Type *base, uint32_t chan, const <a class="el" href="structcy__stc__canfd__bitrate__t.html">cy_stc_canfd_bitrate_t</a> *fastBitrate)</td></tr>
<tr class="memdesc:ga0839583688841c76449239d93f305381"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets Data Bit Timing and Prescaler Register parameters for data: -Data Time segment after sample point; -Data Time segment before sample point; -Data Baud Rate Prescaler; -Data Synchronization Jump Width.  <a href="#ga0839583688841c76449239d93f305381">More...</a><br /></td></tr>
<tr class="separator:ga0839583688841c76449239d93f305381"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a1f87235b315ccd380fca0543abaec3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga2a1f87235b315ccd380fca0543abaec3">Cy_CANFD_SidFilterSetup</a> (CANFD_Type const *base, uint32_t chan, const <a class="el" href="structcy__stc__id__filter__t.html">cy_stc_id_filter_t</a> *filter, uint32_t index, <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *context)</td></tr>
<tr class="memdesc:ga2a1f87235b315ccd380fca0543abaec3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the Standard Message ID Filter Element configuration in Message RAM.  <a href="#ga2a1f87235b315ccd380fca0543abaec3">More...</a><br /></td></tr>
<tr class="separator:ga2a1f87235b315ccd380fca0543abaec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b8e72d91a4a87fc4214e8e30e842ac2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga7b8e72d91a4a87fc4214e8e30e842ac2">Cy_CANFD_SidFiltersSetup</a> (CANFD_Type const *base, uint32_t chan, const <a class="el" href="structcy__stc__canfd__sid__filter__config__t.html">cy_stc_canfd_sid_filter_config_t</a> *filterConfig, <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *context)</td></tr>
<tr class="memdesc:ga7b8e72d91a4a87fc4214e8e30e842ac2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the Standard Message ID Filters configuration in Message RAM.  <a href="#ga7b8e72d91a4a87fc4214e8e30e842ac2">More...</a><br /></td></tr>
<tr class="separator:ga7b8e72d91a4a87fc4214e8e30e842ac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga268474c1b1bbc0a0d80ef8ee9041f9c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga268474c1b1bbc0a0d80ef8ee9041f9c4">Cy_CANFD_XidFilterSetup</a> (CANFD_Type const *base, uint32_t chan, const <a class="el" href="structcy__stc__extid__filter__t.html">cy_stc_extid_filter_t</a> *filter, uint32_t index, <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *context)</td></tr>
<tr class="memdesc:ga268474c1b1bbc0a0d80ef8ee9041f9c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the Extended Message ID Filter Element configuration in Message RAM.  <a href="#ga268474c1b1bbc0a0d80ef8ee9041f9c4">More...</a><br /></td></tr>
<tr class="separator:ga268474c1b1bbc0a0d80ef8ee9041f9c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b3e755348550fc82220fd31ca97e116"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga0b3e755348550fc82220fd31ca97e116">Cy_CANFD_XidFiltersSetup</a> (CANFD_Type const *base, uint32_t chan, const <a class="el" href="structcy__stc__canfd__extid__filter__config__t.html">cy_stc_canfd_extid_filter_config_t</a> *filterConfig, <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *context)</td></tr>
<tr class="memdesc:ga0b3e755348550fc82220fd31ca97e116"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the Extended Message ID Filters configuration in Message RAM.  <a href="#ga0b3e755348550fc82220fd31ca97e116">More...</a><br /></td></tr>
<tr class="separator:ga0b3e755348550fc82220fd31ca97e116"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78b3020a4e915f2b158d2a04afc0f3f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga78b3020a4e915f2b158d2a04afc0f3f1">Cy_CANFD_TxBufferConfig</a> (CANFD_Type const *base, uint32_t chan, const <a class="el" href="structcy__stc__canfd__tx__buffer__t.html">cy_stc_canfd_tx_buffer_t</a> *txBuffer, uint8_t index, <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *context)</td></tr>
<tr class="memdesc:ga78b3020a4e915f2b158d2a04afc0f3f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the T0 and T1 Tx buffer element parameters in Message RAM and copies data from <a class="el" href="structcy__stc__canfd__tx__buffer__t.html" title="Tx buffer register. ">cy_stc_canfd_tx_buffer_t</a> structure to Message RAM.  <a href="#ga78b3020a4e915f2b158d2a04afc0f3f1">More...</a><br /></td></tr>
<tr class="separator:ga78b3020a4e915f2b158d2a04afc0f3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace49624f024ac7f355d4ffcb3c13fd8a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#gace49624f024ac7f355d4ffcb3c13fd8a">Cy_CANFD_CalcRxBufAdrs</a> (CANFD_Type const *base, uint32_t chan, uint32_t index, <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *context)</td></tr>
<tr class="memdesc:gace49624f024ac7f355d4ffcb3c13fd8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the address of the RX buffer element.  <a href="#gace49624f024ac7f355d4ffcb3c13fd8a">More...</a><br /></td></tr>
<tr class="separator:gace49624f024ac7f355d4ffcb3c13fd8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1d9cf5eec557299afea5738b9980acec"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga1d9cf5eec557299afea5738b9980acec">Cy_CANFD_CalcRxFifoAdrs</a> (CANFD_Type const *base, uint32_t chan, uint32_t fifoNumber, uint32_t index, <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *context)</td></tr>
<tr class="memdesc:ga1d9cf5eec557299afea5738b9980acec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the address of the RX FIFO element.  <a href="#ga1d9cf5eec557299afea5738b9980acec">More...</a><br /></td></tr>
<tr class="separator:ga1d9cf5eec557299afea5738b9980acec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75e681807303412236e8c09f932b7d98"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga75e681807303412236e8c09f932b7d98">Cy_CANFD_GetRxBuffer</a> (CANFD_Type const *base, uint32_t chan, const uint32_t bufferAddress, <a class="el" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> const *rxBuffer)</td></tr>
<tr class="memdesc:ga75e681807303412236e8c09f932b7d98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts the RX Buffer from Message RAM.  <a href="#ga75e681807303412236e8c09f932b7d98">More...</a><br /></td></tr>
<tr class="separator:ga75e681807303412236e8c09f932b7d98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0948f630d4377b35112dc78968bf8ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#gad0948f630d4377b35112dc78968bf8ea">Cy_CANFD_GetFIFOTop</a> (CANFD_Type const *base, uint32_t chan, const uint8_t FIFONumber, <a class="el" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> const *rxBuffer)</td></tr>
<tr class="memdesc:gad0948f630d4377b35112dc78968bf8ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts one RX FIFO Buffer element using the FIFO TOP register logic.  <a href="#gad0948f630d4377b35112dc78968bf8ea">More...</a><br /></td></tr>
<tr class="separator:gad0948f630d4377b35112dc78968bf8ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3cbf3aa2185a5666c2d9dd7ff33dd64d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga3cbf3aa2185a5666c2d9dd7ff33dd64d">Cy_CANFD_ExtractMsgFromRXBuffer</a> (CANFD_Type *base, uint32_t chan, bool rxFIFOMsg, uint8_t msgBufOrRxFIFONum, <a class="el" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> const *rxBuffer, <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *context)</td></tr>
<tr class="memdesc:ga3cbf3aa2185a5666c2d9dd7ff33dd64d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts one RX buffer or one FIFO buffer element.  <a href="#ga3cbf3aa2185a5666c2d9dd7ff33dd64d">More...</a><br /></td></tr>
<tr class="separator:ga3cbf3aa2185a5666c2d9dd7ff33dd64d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac5ee07d35cc46c1fee20be22b489aea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#gaac5ee07d35cc46c1fee20be22b489aea">Cy_CANFD_AckRxBuf</a> (CANFD_Type *base, uint32_t chan, uint32_t bufNum)</td></tr>
<tr class="memdesc:gaac5ee07d35cc46c1fee20be22b489aea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acknowledges the data reading and makes the buffer element available for a next message.  <a href="#gaac5ee07d35cc46c1fee20be22b489aea">More...</a><br /></td></tr>
<tr class="separator:gaac5ee07d35cc46c1fee20be22b489aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80916a77f80f254770c3f28b0a0631e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga80916a77f80f254770c3f28b0a0631e9">Cy_CANFD_AckRxFifo</a> (CANFD_Type *base, uint32_t chan, uint32_t FIFOnumber)</td></tr>
<tr class="memdesc:ga80916a77f80f254770c3f28b0a0631e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acknowledges the data reading and makes the buffer element available for a next message.  <a href="#ga80916a77f80f254770c3f28b0a0631e9">More...</a><br /></td></tr>
<tr class="separator:ga80916a77f80f254770c3f28b0a0631e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0e9450addab2f45af99473022f32f59"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE <a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#gae0e9450addab2f45af99473022f32f59">Cy_CANFD_ConfigChangesEnable</a> (CANFD_Type *base, uint32_t chan)</td></tr>
<tr class="memdesc:gae0e9450addab2f45af99473022f32f59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the CPU write access to the protected configuration registers of the CAN FD block and sets the CAN FD block into the initialization state.  <a href="#gae0e9450addab2f45af99473022f32f59">More...</a><br /></td></tr>
<tr class="separator:gae0e9450addab2f45af99473022f32f59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1960f8d0f6ce39fc1ee0c51b02933fe4"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE <a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga1960f8d0f6ce39fc1ee0c51b02933fe4">Cy_CANFD_ConfigChangesDisable</a> (CANFD_Type *base, uint32_t chan)</td></tr>
<tr class="memdesc:ga1960f8d0f6ce39fc1ee0c51b02933fe4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the CPU write access to the protected configuration registers of the CAN FD block and sets the CAN FD block into the Normal Operation.  <a href="#ga1960f8d0f6ce39fc1ee0c51b02933fe4">More...</a><br /></td></tr>
<tr class="separator:ga1960f8d0f6ce39fc1ee0c51b02933fe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e4fed4a894d0b61c38714569cc94f5c"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga6e4fed4a894d0b61c38714569cc94f5c">Cy_CANFD_TestModeConfig</a> (CANFD_Type *base, uint32_t chan, <a class="el" href="group__group__canfd__enums.html#gac301ff6eab794c7f718822ef7c289483">cy_stc_canfd_test_mode_t</a> testMode)</td></tr>
<tr class="memdesc:ga6e4fed4a894d0b61c38714569cc94f5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures test mode.  <a href="#ga6e4fed4a894d0b61c38714569cc94f5c">More...</a><br /></td></tr>
<tr class="separator:ga6e4fed4a894d0b61c38714569cc94f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec4fa4908250f50edd033262162695a6"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#gaec4fa4908250f50edd033262162695a6">Cy_CANFD_SetTDC</a> (CANFD_Type *base, uint32_t chan, const <a class="el" href="structcy__stc__canfd__transceiver__delay__compensation__t.html">cy_stc_canfd_transceiver_delay_compensation_t</a> *tdcConfig)</td></tr>
<tr class="memdesc:gaec4fa4908250f50edd033262162695a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the CAN FD transceiver delay compensation offset.  <a href="#gaec4fa4908250f50edd033262162695a6">More...</a><br /></td></tr>
<tr class="separator:gaec4fa4908250f50edd033262162695a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa623a5fe55cbb83fe63c099c5443cc7b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#gaa623a5fe55cbb83fe63c099c5443cc7b">Cy_CANFD_GetLastError</a> (CANFD_Type const *base, uint32_t chan)</td></tr>
<tr class="memdesc:gaa623a5fe55cbb83fe63c099c5443cc7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of Protocol Status Register (PSR).  <a href="#gaa623a5fe55cbb83fe63c099c5443cc7b">More...</a><br /></td></tr>
<tr class="separator:gaa623a5fe55cbb83fe63c099c5443cc7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga89c366a3feb3ef1cd0a3b9779fff718e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga89c366a3feb3ef1cd0a3b9779fff718e">Cy_CANFD_IrqHandler</a> (CANFD_Type *base, uint32_t chan, <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *context)</td></tr>
<tr class="memdesc:ga89c366a3feb3ef1cd0a3b9779fff718e"><td class="mdescLeft">&#160;</td><td class="mdescRight">CAN FD (Status/Error/Rx/Tx) interrupt ISR.  <a href="#ga89c366a3feb3ef1cd0a3b9779fff718e">More...</a><br /></td></tr>
<tr class="separator:ga89c366a3feb3ef1cd0a3b9779fff718e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a1f6cffafdd899861203d50d24e7b3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga8a1f6cffafdd899861203d50d24e7b3e">Cy_CANFD_Init</a> (CANFD_Type *base, uint32_t chan, const <a class="el" href="structcy__stc__canfd__config__t.html">cy_stc_canfd_config_t</a> *config, <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> *context)</td></tr>
<tr class="memdesc:ga8a1f6cffafdd899861203d50d24e7b3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the CAN FD module.  <a href="#ga8a1f6cffafdd899861203d50d24e7b3e">More...</a><br /></td></tr>
<tr class="separator:ga8a1f6cffafdd899861203d50d24e7b3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0849b023b3b145ede68d057561a2aa32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga0849b023b3b145ede68d057561a2aa32">Cy_CANFD_DeInit</a> (CANFD_Type *base, uint32_t chan, <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> *context)</td></tr>
<tr class="memdesc:ga0849b023b3b145ede68d057561a2aa32"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initializes the CAN FD block, returns registers values to default.  <a href="#ga0849b023b3b145ede68d057561a2aa32">More...</a><br /></td></tr>
<tr class="separator:ga0849b023b3b145ede68d057561a2aa32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf8e92c666e0cc959876d4cfbc904534"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#gadf8e92c666e0cc959876d4cfbc904534">Cy_CANFD_TransmitTxBuffer</a> (CANFD_Type *base, uint32_t chan, uint8_t index)</td></tr>
<tr class="memdesc:gadf8e92c666e0cc959876d4cfbc904534"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts transmission of the message prepared with <a class="el" href="group__group__canfd__functions.html#ga78b3020a4e915f2b158d2a04afc0f3f1" title="Updates the T0 and T1 Tx buffer element parameters in Message RAM and copies data from cy_stc_canfd_t...">Cy_CANFD_TxBufferConfig()</a>.  <a href="#gadf8e92c666e0cc959876d4cfbc904534">More...</a><br /></td></tr>
<tr class="separator:gadf8e92c666e0cc959876d4cfbc904534"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga077680b35c13481998c73e426129a91f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga077680b35c13481998c73e426129a91f">Cy_CANFD_UpdateAndTransmitMsgBuffer</a> (CANFD_Type *base, uint32_t chan, const <a class="el" href="structcy__stc__canfd__tx__buffer__t.html">cy_stc_canfd_tx_buffer_t</a> *txBuffer, uint8_t index, <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *context)</td></tr>
<tr class="memdesc:ga077680b35c13481998c73e426129a91f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the T0 and T1 Tx buffer element parameters in Message RAM and copies data from <a class="el" href="structcy__stc__canfd__tx__buffer__t.html" title="Tx buffer register. ">cy_stc_canfd_tx_buffer_t</a> structure to Message RAM.  <a href="#ga077680b35c13481998c73e426129a91f">More...</a><br /></td></tr>
<tr class="separator:ga077680b35c13481998c73e426129a91f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c297d07dfd4185ae5d83559a3d4649e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__canfd__enums.html#gacbbb27d497c2038e14006f059b5a9705">cy_en_canfd_tx_buffer_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga5c297d07dfd4185ae5d83559a3d4649e">Cy_CANFD_GetTxBufferStatus</a> (CANFD_Type const *base, uint32_t chan, uint8_t index)</td></tr>
<tr class="memdesc:ga5c297d07dfd4185ae5d83559a3d4649e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the status of the CAN FD Tx buffer.  <a href="#ga5c297d07dfd4185ae5d83559a3d4649e">More...</a><br /></td></tr>
<tr class="separator:ga5c297d07dfd4185ae5d83559a3d4649e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e020a36639bbf87de5f9c3dfe92d2a0"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga4e020a36639bbf87de5f9c3dfe92d2a0">Cy_CANFD_GetInterruptStatus</a> (CANFD_Type const *base, uint32_t chan)</td></tr>
<tr class="memdesc:ga4e020a36639bbf87de5f9c3dfe92d2a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a status of CAN FD interrupt requests.  <a href="#ga4e020a36639bbf87de5f9c3dfe92d2a0">More...</a><br /></td></tr>
<tr class="separator:ga4e020a36639bbf87de5f9c3dfe92d2a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3bcb0dc21a31e9a53996166dad6eb55a"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga3bcb0dc21a31e9a53996166dad6eb55a">Cy_CANFD_ClearInterrupt</a> (CANFD_Type *base, uint32_t chan, uint32_t status)</td></tr>
<tr class="memdesc:ga3bcb0dc21a31e9a53996166dad6eb55a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears CAN FD interrupts by setting each bit.  <a href="#ga3bcb0dc21a31e9a53996166dad6eb55a">More...</a><br /></td></tr>
<tr class="separator:ga3bcb0dc21a31e9a53996166dad6eb55a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7dfc5fdcdf173c1016b25dbba60a1f57"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga7dfc5fdcdf173c1016b25dbba60a1f57">Cy_CANFD_GetInterruptMask</a> (CANFD_Type const *base, uint32_t chan)</td></tr>
<tr class="memdesc:ga7dfc5fdcdf173c1016b25dbba60a1f57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an interrupt mask.  <a href="#ga7dfc5fdcdf173c1016b25dbba60a1f57">More...</a><br /></td></tr>
<tr class="separator:ga7dfc5fdcdf173c1016b25dbba60a1f57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga054d85e42f3f2440743c981dbc52ed0a"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga054d85e42f3f2440743c981dbc52ed0a">Cy_CANFD_SetInterruptMask</a> (CANFD_Type *base, uint32_t chan, uint32_t interrupt)</td></tr>
<tr class="memdesc:ga054d85e42f3f2440743c981dbc52ed0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures which bits of the interrupt request register can trigger an interrupt event.  <a href="#ga054d85e42f3f2440743c981dbc52ed0a">More...</a><br /></td></tr>
<tr class="separator:ga054d85e42f3f2440743c981dbc52ed0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad10ec138779841932a2c16d3bbb66f13"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#gad10ec138779841932a2c16d3bbb66f13">Cy_CANFD_GetInterruptLine</a> (CANFD_Type const *base, uint32_t chan)</td></tr>
<tr class="memdesc:gad10ec138779841932a2c16d3bbb66f13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the interrupt signals assigned to the line m_ttcan_int0 or m_ttcan_int1.  <a href="#gad10ec138779841932a2c16d3bbb66f13">More...</a><br /></td></tr>
<tr class="separator:gad10ec138779841932a2c16d3bbb66f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f70384d4189cb8a2c95558844b3ad32"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga4f70384d4189cb8a2c95558844b3ad32">Cy_CANFD_SetInterruptLine</a> (CANFD_Type *base, uint32_t chan, uint32_t interruptLineMask)</td></tr>
<tr class="memdesc:ga4f70384d4189cb8a2c95558844b3ad32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the bits of the Interrupt Line Select Register to assign the interrupt signal to the line m_ttcan_int0 or m_ttcan_int1.  <a href="#ga4f70384d4189cb8a2c95558844b3ad32">More...</a><br /></td></tr>
<tr class="separator:ga4f70384d4189cb8a2c95558844b3ad32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19cf470ba6a21f7bb547a49b5a64dccb"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#ga19cf470ba6a21f7bb547a49b5a64dccb">Cy_CANFD_IsInterruptLineEnabled</a> (CANFD_Type const *base, uint32_t chan, uint32_t interruptLineMask)</td></tr>
<tr class="memdesc:ga19cf470ba6a21f7bb547a49b5a64dccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether Interrupt Line 0, Interrupt Line 1 or both are enabled.  <a href="#ga19cf470ba6a21f7bb547a49b5a64dccb">More...</a><br /></td></tr>
<tr class="separator:ga19cf470ba6a21f7bb547a49b5a64dccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1448953e987797150f94a0a04314eae"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__canfd__functions.html#gaf1448953e987797150f94a0a04314eae">Cy_CANFD_EnableInterruptLine</a> (CANFD_Type *base, uint32_t chan, uint32_t interruptLineMask)</td></tr>
<tr class="memdesc:gaf1448953e987797150f94a0a04314eae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures which interrupt line is enabled (Interrupt Line 0, Interrupt Line 1 or both).  <a href="#gaf1448953e987797150f94a0a04314eae">More...</a><br /></td></tr>
<tr class="separator:gaf1448953e987797150f94a0a04314eae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="gaef605757cd0918a4b4dc2ee845379eb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef605757cd0918a4b4dc2ee845379eb1">&#9670;&nbsp;</a></span>Cy_CANFD_Enable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_CANFD_Enable </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>channelMask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enables the CAN FD channels. </p>
<dl class="section note"><dt>Note</dt><dd>Call Cy_CANFD_Enable before Cy_CANFD_Init.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The CAN FD registers structure pointer.</td></tr>
    <tr><td class="paramname">channelMask</td><td>The channel mask (0-0xFF).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  The CAN FD block and channel must be enabled. */</span></div><div class="line">    uint32_t channelMask = 0x00000001UL; <span class="comment">/* Enable the first channel */</span></div><div class="line">    <a class="code" href="group__group__canfd__functions.html#gaef605757cd0918a4b4dc2ee845379eb1">Cy_CANFD_Enable</a>(CANFD0, channelMask);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga9ca44fd1c99331175e36948009c89594"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9ca44fd1c99331175e36948009c89594">&#9670;&nbsp;</a></span>Cy_CANFD_Disable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE <a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a> Cy_CANFD_Disable </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>channelMask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disables the CAN FD channels to stop providing clocks to un-used CAN channels for power saving with this functionality. </p>
<dl class="section note"><dt>Note</dt><dd>Call Cy_CANFD_Disable only after Cy_CANFD_DeInit. Do not access the CAN FD registers until calling Cy_CANFD_Enable again.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The CAN FD registers structure pointer.</td></tr>
    <tr><td class="paramname">channelMask</td><td>The channel mask (0-0xFF).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  CAN FD no longer in use, a channel or channels must be switched off */</span></div><div class="line">    uint32_t channelMask = 0x00000001UL; <span class="comment">/* Disable first channel */</span></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> != <a class="code" href="group__group__canfd__functions.html#ga9ca44fd1c99331175e36948009c89594">Cy_CANFD_Disable</a>(CANFD0, channelMask))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga2a0dc6120b6482856070e924a54af502"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2a0dc6120b6482856070e924a54af502">&#9670;&nbsp;</a></span>Cy_CANFD_EnableMRAM()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_CANFD_EnableMRAM </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>channelMask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>delay</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Switches MRAM on and enables the channels. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The CAN FD registers structure pointer.</td></tr>
    <tr><td class="paramname">channelMask</td><td>The channel mask (0-0xFF).</td></tr>
    <tr><td class="paramname">delay</td><td>The delay in usec to wait power up time before MRAM can be used. Recommended value is 150 CPU cycles or 6 usec for the 25 MHz CPU clock.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Switches MRAM on and enables specified channels. */</span></div><div class="line">    uint32_t channelMask = 0x00000001UL; <span class="comment">/* Enables the first channel */</span></div><div class="line">    uint16_t delay = 0x0006U; <span class="comment">/* A delay in usec before the MRAM can be used */</span></div><div class="line">    <a class="code" href="group__group__canfd__functions.html#ga2a0dc6120b6482856070e924a54af502">Cy_CANFD_EnableMRAM</a>(CANFD0, channelMask, delay);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga5e42f9c965d044677e0fef5ec1465145"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5e42f9c965d044677e0fef5ec1465145">&#9670;&nbsp;</a></span>Cy_CANFD_DisableMRAM()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE <a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a> Cy_CANFD_DisableMRAM </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disables the channels and switches MRAM off. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The CAN FD registers structure pointer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Disables all the channels and switches off the MRAM to save power. */</span></div><div class="line">    <a class="code" href="group__group__canfd__functions.html#ga5e42f9c965d044677e0fef5ec1465145">Cy_CANFD_DisableMRAM</a>(CANFD0);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga083d20b3babeadd559f43b7fca7176aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga083d20b3babeadd559f43b7fca7176aa">&#9670;&nbsp;</a></span>Cy_CANFD_SetBitrate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_CANFD_SetBitrate </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcy__stc__canfd__bitrate__t.html">cy_stc_canfd_bitrate_t</a> *&#160;</td>
          <td class="paramname"><em>bitrate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets Nominal Bit Timing and Prescaler Register parameters: -Nominal Time segment after sample point; -Nominal Time segment before sample point; -Nominal Baud Rate Prescaler; -Nominal Synchronization Jump Width. </p>
<dl class="section note"><dt>Note</dt><dd>Before calling the <a class="el" href="group__group__canfd__functions.html#ga083d20b3babeadd559f43b7fca7176aa" title="Sets Nominal Bit Timing and Prescaler Register parameters: -Nominal Time segment after sample point; ...">Cy_CANFD_SetBitrate()</a> function, the <a class="el" href="group__group__canfd__functions.html#gae0e9450addab2f45af99473022f32f59" title="Enables the CPU write access to the protected configuration registers of the CAN FD block and sets th...">Cy_CANFD_ConfigChangesEnable()</a> function must be called to set bits CCCR.CCE and CCCR.INIT. It is recommended to call <a class="el" href="group__group__canfd__functions.html#ga1960f8d0f6ce39fc1ee0c51b02933fe4" title="Disables the CPU write access to the protected configuration registers of the CAN FD block and sets t...">Cy_CANFD_ConfigChangesDisable()</a> after updating Bitrate.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">*bitrate</td><td><a class="el" href="structcy__stc__canfd__bitrate__t.html">cy_stc_canfd_bitrate_t</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Changes the Nominal Bit Timing or Prescaler Register parameters after the CAN FD block is initialized. */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__bitrate__t.html">cy_stc_canfd_bitrate_t</a> bitrateConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .prescaler     */</span> 10u - 1u,</div><div class="line">        <span class="comment">/* .timeSegment1  */</span> 5u - 1u,</div><div class="line">        <span class="comment">/* .timeSegment2  */</span> 2u - 1u,</div><div class="line">        <span class="comment">/* .syncJumpWidth */</span> 2u - 1u</div><div class="line">    };</div><div class="line">    <a class="code" href="group__group__canfd__functions.html#gae0e9450addab2f45af99473022f32f59">Cy_CANFD_ConfigChangesEnable</a>(CANFD0, 0UL);</div><div class="line">    <a class="code" href="group__group__canfd__functions.html#ga083d20b3babeadd559f43b7fca7176aa">Cy_CANFD_SetBitrate</a>(CANFD0, 0UL, &amp;bitrateConfig);</div><div class="line">    <a class="code" href="group__group__canfd__functions.html#ga1960f8d0f6ce39fc1ee0c51b02933fe4">Cy_CANFD_ConfigChangesDisable</a>(CANFD0, 0UL);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga0839583688841c76449239d93f305381"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0839583688841c76449239d93f305381">&#9670;&nbsp;</a></span>Cy_CANFD_SetFastBitrate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_CANFD_SetFastBitrate </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcy__stc__canfd__bitrate__t.html">cy_stc_canfd_bitrate_t</a> *&#160;</td>
          <td class="paramname"><em>fastBitrate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets Data Bit Timing and Prescaler Register parameters for data: -Data Time segment after sample point; -Data Time segment before sample point; -Data Baud Rate Prescaler; -Data Synchronization Jump Width. </p>
<dl class="section note"><dt>Note</dt><dd>Before calling the <a class="el" href="group__group__canfd__functions.html#ga0839583688841c76449239d93f305381" title="Sets Data Bit Timing and Prescaler Register parameters for data: -Data Time segment after sample poin...">Cy_CANFD_SetFastBitrate()</a> function, the <a class="el" href="group__group__canfd__functions.html#gae0e9450addab2f45af99473022f32f59" title="Enables the CPU write access to the protected configuration registers of the CAN FD block and sets th...">Cy_CANFD_ConfigChangesEnable()</a> function must be called to set bits CCCR.CCE and CCCR.INIT. It is recommended to call <a class="el" href="group__group__canfd__functions.html#ga1960f8d0f6ce39fc1ee0c51b02933fe4" title="Disables the CPU write access to the protected configuration registers of the CAN FD block and sets t...">Cy_CANFD_ConfigChangesDisable()</a> after updating Bitrate.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">*fastBitrate</td><td><a class="el" href="structcy__stc__canfd__bitrate__t.html">cy_stc_canfd_bitrate_t</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Changes the Data Bit Timing or Prescaler Register parameters after the CAN FD block is initialized. */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__bitrate__t.html">cy_stc_canfd_bitrate_t</a> bitrateConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .prescaler     */</span> 5u - 1u,</div><div class="line">        <span class="comment">/* .timeSegment1  */</span> 5u - 1u,</div><div class="line">        <span class="comment">/* .timeSegment2  */</span> 2u - 1u,</div><div class="line">        <span class="comment">/* .syncJumpWidth */</span> 2u - 1u</div><div class="line">    };</div><div class="line">    <a class="code" href="group__group__canfd__functions.html#gae0e9450addab2f45af99473022f32f59">Cy_CANFD_ConfigChangesEnable</a>(CANFD0, 0UL);</div><div class="line">    <a class="code" href="group__group__canfd__functions.html#ga0839583688841c76449239d93f305381">Cy_CANFD_SetFastBitrate</a>(CANFD0, 0UL, &amp;bitrateConfig);</div><div class="line">    <a class="code" href="group__group__canfd__functions.html#ga1960f8d0f6ce39fc1ee0c51b02933fe4">Cy_CANFD_ConfigChangesDisable</a>(CANFD0, 0UL);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga2a1f87235b315ccd380fca0543abaec3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2a1f87235b315ccd380fca0543abaec3">&#9670;&nbsp;</a></span>Cy_CANFD_SidFilterSetup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_CANFD_SidFilterSetup </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcy__stc__id__filter__t.html">cy_stc_id_filter_t</a> *&#160;</td>
          <td class="paramname"><em>filter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Updates the Standard Message ID Filter Element configuration in Message RAM. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">*filter</td><td>The SID Filter register element structure.</td></tr>
    <tr><td class="paramname">index</td><td>The SID filter index.</td></tr>
    <tr><td class="paramname">*context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> allocated by the user. The structure is used during the CAN FD operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Updates the Standard Message ID Filter Element configuration in the Message RAM. */</span></div><div class="line">    <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="structcy__stc__id__filter__t.html">cy_stc_id_filter_t</a> filter =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .sfid2 */</span> 0x00000010UL,</div><div class="line">        <span class="comment">/* .sfid1 */</span> 0x00000020UL,</div><div class="line">        <span class="comment">/* .sfec  */</span> <a class="code" href="group__group__canfd__enums.html#ggae5fe195a7883e282b211bc54e10977f0a73fb6e66218c0a02ff8276d60263e162">CY_CANFD_SFEC_STORE_RX_FIFO_0</a>,</div><div class="line">        <span class="comment">/* .sft   */</span> <a class="code" href="group__group__canfd__enums.html#gga21b68fc58e117edbae073d981342566aa713b9179742d141bee6853a093310e96">CY_CANFD_SFT_RANGE_SFID1_SFID2</a></div><div class="line">    };</div><div class="line">    <a class="code" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> context = {0}; <span class="comment">/* This is a shared context buffer, unique for each channel */</span></div><div class="line">    <a class="code" href="group__group__canfd__functions.html#ga2a1f87235b315ccd380fca0543abaec3">Cy_CANFD_SidFilterSetup</a>(CANFD0, 0UL, &amp;filter, 0UL, &amp;context);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga7b8e72d91a4a87fc4214e8e30e842ac2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7b8e72d91a4a87fc4214e8e30e842ac2">&#9670;&nbsp;</a></span>Cy_CANFD_SidFiltersSetup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_CANFD_SidFiltersSetup </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcy__stc__canfd__sid__filter__config__t.html">cy_stc_canfd_sid_filter_config_t</a> *&#160;</td>
          <td class="paramname"><em>filterConfig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Updates the Standard Message ID Filters configuration in Message RAM. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">filterConfig</td><td>The Standard ID filter configuration structure.</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> allocated by the user. The structure is used during the CAN FD operation for internal configuration and data retention. The user must not modify anything in this structure. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga268474c1b1bbc0a0d80ef8ee9041f9c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga268474c1b1bbc0a0d80ef8ee9041f9c4">&#9670;&nbsp;</a></span>Cy_CANFD_XidFilterSetup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_CANFD_XidFilterSetup </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcy__stc__extid__filter__t.html">cy_stc_extid_filter_t</a> *&#160;</td>
          <td class="paramname"><em>filter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Updates the Extended Message ID Filter Element configuration in Message RAM. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">filter</td><td>The XID Filter register element structure.</td></tr>
    <tr><td class="paramname">index</td><td>The XID filter index.</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> allocated by the user. The structure is used during the CAN FD operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Updates the Extended Message ID Filter Element configuration in the Message RAM. */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> context = {0};</div><div class="line">    <a class="code" href="structcy__stc__canfd__f0__t.html">cy_stc_canfd_f0_t</a> filterF0Config =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .efid1 */</span> 0x00010010UL,</div><div class="line">        <span class="comment">/* .efec  */</span> <a class="code" href="group__group__canfd__enums.html#gga54cac9dc6e3b4b0ad9f833420dcd0d85a0414279b832aca1d717de5c3bc9532d6">CY_CANFD_EFEC_STORE_RX_FIFO_1</a></div><div class="line">    };</div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__f1__t.html">cy_stc_canfd_f1_t</a> filterF1Config =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .efid2 */</span> 0x00010020UL,</div><div class="line">        <span class="comment">/* .eft   */</span> <a class="code" href="group__group__canfd__enums.html#gga572525e185ea030f605f74679256f342a0719604137143e3fdfd8b233e7031ed6">CY_CANFD_EFT_DUAL_ID</a></div><div class="line">    };</div><div class="line">    </div><div class="line">    <span class="comment">/* extIdFilter */</span></div><div class="line">    <a class="code" href="structcy__stc__extid__filter__t.html">cy_stc_extid_filter_t</a> filter =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .f0_f */</span> &amp;filterF0Config,</div><div class="line">        <span class="comment">/* .f1_f */</span> &amp;filterF1Config</div><div class="line">    };</div><div class="line">    <a class="code" href="group__group__canfd__functions.html#ga268474c1b1bbc0a0d80ef8ee9041f9c4">Cy_CANFD_XidFilterSetup</a>(CANFD0, 0UL, &amp;filter, 0UL, &amp;context);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga0b3e755348550fc82220fd31ca97e116"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0b3e755348550fc82220fd31ca97e116">&#9670;&nbsp;</a></span>Cy_CANFD_XidFiltersSetup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_CANFD_XidFiltersSetup </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcy__stc__canfd__extid__filter__config__t.html">cy_stc_canfd_extid_filter_config_t</a> *&#160;</td>
          <td class="paramname"><em>filterConfig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Updates the Extended Message ID Filters configuration in Message RAM. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">filterConfig</td><td>The Extended ID filter configuration structure.</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> allocated by the user. The structure is used during the CAN FD operation for internal configuration and data retention. The user must not modify anything in this structure. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga78b3020a4e915f2b158d2a04afc0f3f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga78b3020a4e915f2b158d2a04afc0f3f1">&#9670;&nbsp;</a></span>Cy_CANFD_TxBufferConfig()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a> Cy_CANFD_TxBufferConfig </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcy__stc__canfd__tx__buffer__t.html">cy_stc_canfd_tx_buffer_t</a> *&#160;</td>
          <td class="paramname"><em>txBuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Updates the T0 and T1 Tx buffer element parameters in Message RAM and copies data from <a class="el" href="structcy__stc__canfd__tx__buffer__t.html" title="Tx buffer register. ">cy_stc_canfd_tx_buffer_t</a> structure to Message RAM. </p>
<dl class="section note"><dt>Note</dt><dd>Function <a class="el" href="group__group__canfd__functions.html#ga8a1f6cffafdd899861203d50d24e7b3e" title="Initializes the CAN FD module. ">Cy_CANFD_Init()</a> must be called before setting up an identifier and enabling this message buffer.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">*txBuffer</td><td>The Tx Buffer configuration structure.</td></tr>
    <tr><td class="paramname">index</td><td>the message buffer index (0-31).</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> allocated by the user. The structure is used during the CAN FD operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Configure a transmit buffer for the CAN FD transmit operation */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> context = {0}; <span class="comment">/* This is a shared context structure, it is unique for each channel.</span></div><div class="line"><span class="comment">                                     * It must be global</span></div><div class="line"><span class="comment">                                     */</span></div><div class="line">    uint8_t index = 0U;  <span class="comment">/* Tx Buffer Element number */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__t0__t.html">cy_stc_canfd_t0_t</a> t0fConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .id  */</span> 0x00000055UL,</div><div class="line">        <span class="comment">/* .rtr */</span> <a class="code" href="group__group__canfd__enums.html#gga9dc2150b5a115fd87cd60f538f7281ceac797e947012ac4b5d191f67b5095682c">CY_CANFD_RTR_DATA_FRAME</a>,</div><div class="line">        <span class="comment">/* .xtd */</span> <a class="code" href="group__group__canfd__enums.html#gga511e4ae64e16189bfe2e5828ae2d9f25aba189a4f427a087b73a3fd75a80f19ee">CY_CANFD_XTD_STANDARD_ID</a>,</div><div class="line">        <span class="comment">/* .esi */</span> <a class="code" href="group__group__canfd__enums.html#gga24bb5c7075c10594b4e276520f64f779af51b073aa5ee832878ff7e15ff8fd1b3">CY_CANFD_ESI_ERROR_PASSIVE</a></div><div class="line">    };</div><div class="line">    <a class="code" href="structcy__stc__canfd__t1__t.html">cy_stc_canfd_t1_t</a> t1fConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .dlc */</span> 15U,</div><div class="line">        <span class="comment">/* .brs */</span> <span class="keyword">true</span>,</div><div class="line">        <span class="comment">/* .fdf */</span> <a class="code" href="group__group__canfd__enums.html#gga9a9a243726110708a6e61d77b7a86d1ea0053337533518903d9fa1ec0729a22d2">CY_CANFD_FDF_CAN_FD_FRAME</a>,</div><div class="line">        <span class="comment">/* .efc */</span> <span class="keyword">false</span>,</div><div class="line">        <span class="comment">/* .mm  */</span> 0UL</div><div class="line">    };</div><div class="line">    uint32_t data[16] =</div><div class="line">    {</div><div class="line">            0x00000000, 0x11111111, 0x22222222, 0x33333333,</div><div class="line">            0x44444444, 0x55555555, 0x66666666, 0x77777777,</div><div class="line">            0x88888888, 0x99999999, 0xAAAAAAAA, 0xBBBBBBBB,</div><div class="line">            0xCCCCCCCC, 0xDDDDDDDD, 0xEEEEEEEE, 0xFFFFFFFF</div><div class="line">    };</div><div class="line">    <span class="keyword">const</span> <a class="code" href="structcy__stc__canfd__tx__buffer__t.html">cy_stc_canfd_tx_buffer_t</a> txBufferConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .t0_f */</span> &amp;t0fConfig,</div><div class="line">        <span class="comment">/* .t1_f */</span> &amp;t1fConfig,</div><div class="line">        <span class="comment">/* data_area_f */</span> data</div><div class="line">    };</div><div class="line"></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> != <a class="code" href="group__group__canfd__functions.html#ga78b3020a4e915f2b158d2a04afc0f3f1">Cy_CANFD_TxBufferConfig</a>(CANFD0, 0UL, &amp;txBufferConfig, index, &amp;context))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gace49624f024ac7f355d4ffcb3c13fd8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gace49624f024ac7f355d4ffcb3c13fd8a">&#9670;&nbsp;</a></span>Cy_CANFD_CalcRxBufAdrs()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t Cy_CANFD_CalcRxBufAdrs </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculates the address of the RX buffer element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">index</td><td>The message buffer index for reception (0-63).</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> allocated by the user. The structure is used during the CAN FD operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The message buffer address corresponding to the index. Can be 0 if the index is invalid.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Reads one RX buffer element. */</span></div><div class="line">    uint32_t index = 0UL; <span class="comment">/* RX buffer element index */</span></div><div class="line">    <span class="keywordtype">bool</span> useFIFO = <span class="keyword">false</span>; <span class="comment">/* true - uses FIFO buffer, false - uses RX buffer */</span></div><div class="line">    uint32_t FIFOnumber = <a class="code" href="group__group__canfd__macros.html#ga456b963f846a7f3e4ad2818bf4cfcf1e">CY_CANFD_RX_FIFO0</a>; <span class="comment">/* FIFO number (0 or 1), if used */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> context = {0}; <span class="comment">/* This is a shared context structure unique for each channel</span></div><div class="line"><span class="comment">                                     * It must be global, initialized with Cy_CANFD_Init()</span></div><div class="line"><span class="comment">                                     */</span></div><div class="line">    </div><div class="line">    uint32_t address ; <span class="comment">/* The address of the RX buffer in Message RAM */</span></div><div class="line">    </div><div class="line">    <span class="comment">/* The members of the rxBuffer structure */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r0__t.html">cy_stc_canfd_r0_t</a>  r0RxBuffer; <span class="comment">/* The R0 register structure of the RX buffer element */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r1__t.html">cy_stc_canfd_r1_t</a>  r1RxBuffer; <span class="comment">/* The R1 register structure of the RX buffer element */</span></div><div class="line">    uint32_t           rxData[CY_CANFD_DATA_ELEMENTS_MAX]; <span class="comment">/* The array to store RX data */</span></div><div class="line">    </div><div class="line">    <a class="code" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> rxBuffer =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .r0_f         */</span> &amp;r0RxBuffer,</div><div class="line">        <span class="comment">/* .r1_f         */</span> &amp;r1RxBuffer,</div><div class="line">        <span class="comment">/* .data_area_f  */</span> rxData</div><div class="line">    };</div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span> (useFIFO)</div><div class="line">    {</div><div class="line">        address = <a class="code" href="group__group__canfd__functions.html#ga1d9cf5eec557299afea5738b9980acec">Cy_CANFD_CalcRxFifoAdrs</a>(CANFD0, 0UL, FIFOnumber, index, &amp;context);</div><div class="line">    }</div><div class="line">    <span class="keywordflow">else</span></div><div class="line">    {</div><div class="line">        address = <a class="code" href="group__group__canfd__functions.html#gace49624f024ac7f355d4ffcb3c13fd8a">Cy_CANFD_CalcRxBufAdrs</a>(CANFD0, 0UL, index, &amp;context);</div><div class="line">    }    </div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> == (<a class="code" href="group__group__canfd__functions.html#ga75e681807303412236e8c09f932b7d98">Cy_CANFD_GetRxBuffer</a>(CANFD0, 0UL, address, &amp;rxBuffer)))</div><div class="line">    {</div><div class="line">        <span class="keywordflow">if</span> (useFIFO)</div><div class="line">        {</div><div class="line">            <a class="code" href="group__group__canfd__functions.html#ga80916a77f80f254770c3f28b0a0631e9">Cy_CANFD_AckRxFifo</a>(CANFD0, 0UL, FIFOnumber);</div><div class="line">        }</div><div class="line">        <span class="keywordflow">else</span></div><div class="line">        {</div><div class="line">            <a class="code" href="group__group__canfd__functions.html#gaac5ee07d35cc46c1fee20be22b489aea">Cy_CANFD_AckRxBuf</a>(CANFD0, 0UL, index);</div><div class="line">        }</div><div class="line">    }</div><div class="line">    <span class="keywordflow">else</span></div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga1d9cf5eec557299afea5738b9980acec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1d9cf5eec557299afea5738b9980acec">&#9670;&nbsp;</a></span>Cy_CANFD_CalcRxFifoAdrs()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t Cy_CANFD_CalcRxFifoAdrs </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>fifoNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculates the address of the RX FIFO element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">fifoNumber</td><td>The FIFO number (0 or 1).</td></tr>
    <tr><td class="paramname">index</td><td>The Message buffer index for the reception (0-63).</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> allocated by the user. The structure is used during the CAN FD operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The Message buffer address corresponding to the index. Can be 0 if the index is invalid.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Reads one RX buffer element. */</span></div><div class="line">    uint32_t index = 0UL; <span class="comment">/* RX buffer element index */</span></div><div class="line">    <span class="keywordtype">bool</span> useFIFO = <span class="keyword">false</span>; <span class="comment">/* true - uses FIFO buffer, false - uses RX buffer */</span></div><div class="line">    uint32_t FIFOnumber = <a class="code" href="group__group__canfd__macros.html#ga456b963f846a7f3e4ad2818bf4cfcf1e">CY_CANFD_RX_FIFO0</a>; <span class="comment">/* FIFO number (0 or 1), if used */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> context = {0}; <span class="comment">/* This is a shared context structure unique for each channel</span></div><div class="line"><span class="comment">                                     * It must be global, initialized with Cy_CANFD_Init()</span></div><div class="line"><span class="comment">                                     */</span></div><div class="line">    </div><div class="line">    uint32_t address ; <span class="comment">/* The address of the RX buffer in Message RAM */</span></div><div class="line">    </div><div class="line">    <span class="comment">/* The members of the rxBuffer structure */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r0__t.html">cy_stc_canfd_r0_t</a>  r0RxBuffer; <span class="comment">/* The R0 register structure of the RX buffer element */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r1__t.html">cy_stc_canfd_r1_t</a>  r1RxBuffer; <span class="comment">/* The R1 register structure of the RX buffer element */</span></div><div class="line">    uint32_t           rxData[CY_CANFD_DATA_ELEMENTS_MAX]; <span class="comment">/* The array to store RX data */</span></div><div class="line">    </div><div class="line">    <a class="code" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> rxBuffer =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .r0_f         */</span> &amp;r0RxBuffer,</div><div class="line">        <span class="comment">/* .r1_f         */</span> &amp;r1RxBuffer,</div><div class="line">        <span class="comment">/* .data_area_f  */</span> rxData</div><div class="line">    };</div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span> (useFIFO)</div><div class="line">    {</div><div class="line">        address = <a class="code" href="group__group__canfd__functions.html#ga1d9cf5eec557299afea5738b9980acec">Cy_CANFD_CalcRxFifoAdrs</a>(CANFD0, 0UL, FIFOnumber, index, &amp;context);</div><div class="line">    }</div><div class="line">    <span class="keywordflow">else</span></div><div class="line">    {</div><div class="line">        address = <a class="code" href="group__group__canfd__functions.html#gace49624f024ac7f355d4ffcb3c13fd8a">Cy_CANFD_CalcRxBufAdrs</a>(CANFD0, 0UL, index, &amp;context);</div><div class="line">    }    </div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> == (<a class="code" href="group__group__canfd__functions.html#ga75e681807303412236e8c09f932b7d98">Cy_CANFD_GetRxBuffer</a>(CANFD0, 0UL, address, &amp;rxBuffer)))</div><div class="line">    {</div><div class="line">        <span class="keywordflow">if</span> (useFIFO)</div><div class="line">        {</div><div class="line">            <a class="code" href="group__group__canfd__functions.html#ga80916a77f80f254770c3f28b0a0631e9">Cy_CANFD_AckRxFifo</a>(CANFD0, 0UL, FIFOnumber);</div><div class="line">        }</div><div class="line">        <span class="keywordflow">else</span></div><div class="line">        {</div><div class="line">            <a class="code" href="group__group__canfd__functions.html#gaac5ee07d35cc46c1fee20be22b489aea">Cy_CANFD_AckRxBuf</a>(CANFD0, 0UL, index);</div><div class="line">        }</div><div class="line">    }</div><div class="line">    <span class="keywordflow">else</span></div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga75e681807303412236e8c09f932b7d98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga75e681807303412236e8c09f932b7d98">&#9670;&nbsp;</a></span>Cy_CANFD_GetRxBuffer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a> Cy_CANFD_GetRxBuffer </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint32_t&#160;</td>
          <td class="paramname"><em>bufferAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> const *&#160;</td>
          <td class="paramname"><em>rxBuffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extracts the RX Buffer from Message RAM. </p>
<dl class="section note"><dt>Note</dt><dd>Remember to clear the NDAT register bits after the RX buffer is read. </dd>
<dd>
Remember to acknowledge the FIFO buffer after reading one FIFO element.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">bufferAddress</td><td>The Rx, FIFO 0 or FIFO 1 Buffer element address in CAN Message RAM.</td></tr>
    <tr><td class="paramname">*rxBuffer</td><td>The Rx Buffer structure in RAM.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Reads one RX buffer element. */</span></div><div class="line">    uint32_t index = 0UL; <span class="comment">/* RX buffer element index */</span></div><div class="line">    <span class="keywordtype">bool</span> useFIFO = <span class="keyword">false</span>; <span class="comment">/* true - uses FIFO buffer, false - uses RX buffer */</span></div><div class="line">    uint32_t FIFOnumber = <a class="code" href="group__group__canfd__macros.html#ga456b963f846a7f3e4ad2818bf4cfcf1e">CY_CANFD_RX_FIFO0</a>; <span class="comment">/* FIFO number (0 or 1), if used */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> context = {0}; <span class="comment">/* This is a shared context structure unique for each channel</span></div><div class="line"><span class="comment">                                     * It must be global, initialized with Cy_CANFD_Init()</span></div><div class="line"><span class="comment">                                     */</span></div><div class="line">    </div><div class="line">    uint32_t address ; <span class="comment">/* The address of the RX buffer in Message RAM */</span></div><div class="line">    </div><div class="line">    <span class="comment">/* The members of the rxBuffer structure */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r0__t.html">cy_stc_canfd_r0_t</a>  r0RxBuffer; <span class="comment">/* The R0 register structure of the RX buffer element */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r1__t.html">cy_stc_canfd_r1_t</a>  r1RxBuffer; <span class="comment">/* The R1 register structure of the RX buffer element */</span></div><div class="line">    uint32_t           rxData[CY_CANFD_DATA_ELEMENTS_MAX]; <span class="comment">/* The array to store RX data */</span></div><div class="line">    </div><div class="line">    <a class="code" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> rxBuffer =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .r0_f         */</span> &amp;r0RxBuffer,</div><div class="line">        <span class="comment">/* .r1_f         */</span> &amp;r1RxBuffer,</div><div class="line">        <span class="comment">/* .data_area_f  */</span> rxData</div><div class="line">    };</div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span> (useFIFO)</div><div class="line">    {</div><div class="line">        address = <a class="code" href="group__group__canfd__functions.html#ga1d9cf5eec557299afea5738b9980acec">Cy_CANFD_CalcRxFifoAdrs</a>(CANFD0, 0UL, FIFOnumber, index, &amp;context);</div><div class="line">    }</div><div class="line">    <span class="keywordflow">else</span></div><div class="line">    {</div><div class="line">        address = <a class="code" href="group__group__canfd__functions.html#gace49624f024ac7f355d4ffcb3c13fd8a">Cy_CANFD_CalcRxBufAdrs</a>(CANFD0, 0UL, index, &amp;context);</div><div class="line">    }    </div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> == (<a class="code" href="group__group__canfd__functions.html#ga75e681807303412236e8c09f932b7d98">Cy_CANFD_GetRxBuffer</a>(CANFD0, 0UL, address, &amp;rxBuffer)))</div><div class="line">    {</div><div class="line">        <span class="keywordflow">if</span> (useFIFO)</div><div class="line">        {</div><div class="line">            <a class="code" href="group__group__canfd__functions.html#ga80916a77f80f254770c3f28b0a0631e9">Cy_CANFD_AckRxFifo</a>(CANFD0, 0UL, FIFOnumber);</div><div class="line">        }</div><div class="line">        <span class="keywordflow">else</span></div><div class="line">        {</div><div class="line">            <a class="code" href="group__group__canfd__functions.html#gaac5ee07d35cc46c1fee20be22b489aea">Cy_CANFD_AckRxBuf</a>(CANFD0, 0UL, index);</div><div class="line">        }</div><div class="line">    }</div><div class="line">    <span class="keywordflow">else</span></div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gad0948f630d4377b35112dc78968bf8ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad0948f630d4377b35112dc78968bf8ea">&#9670;&nbsp;</a></span>Cy_CANFD_GetFIFOTop()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a> Cy_CANFD_GetFIFOTop </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t&#160;</td>
          <td class="paramname"><em>FIFONumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> const *&#160;</td>
          <td class="paramname"><em>rxBuffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extracts one RX FIFO Buffer element using the FIFO TOP register logic. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">FIFONumber</td><td>The CY_CANFD_RX_FIFO0 or CY_CANFD_RX_FIFO1, FIFO Buffer number.</td></tr>
    <tr><td class="paramname">*rxBuffer</td><td>The Rx Buffer structure in RAM.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Reads one RX FIFO0 element using the FIFO TOP register logic. */</span></div><div class="line">    uint32_t FIFONumber = 0;  <span class="comment">/* 0 - read FIFO0, 1 - read FIFO1 */</span></div><div class="line">    </div><div class="line">    <span class="comment">/* The members of the rxBuffer structure */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r0__t.html">cy_stc_canfd_r0_t</a>  r0RxBuffer; <span class="comment">/* The R0 register structure of the RX buffer element */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r1__t.html">cy_stc_canfd_r1_t</a>  r1RxBuffer; <span class="comment">/* The R1 register structure of the RX buffer element */</span></div><div class="line">    uint32_t           rxData[CY_CANFD_DATA_ELEMENTS_MAX]; <span class="comment">/* The array to store RX data */</span></div><div class="line">    </div><div class="line">    <a class="code" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> rxBuffer =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .r0_f         */</span> &amp;r0RxBuffer,</div><div class="line">        <span class="comment">/* .r1_f         */</span> &amp;r1RxBuffer,</div><div class="line">        <span class="comment">/* .data_area_f  */</span> rxData</div><div class="line">    };</div><div class="line"></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> != (<a class="code" href="group__group__canfd__functions.html#gad0948f630d4377b35112dc78968bf8ea">Cy_CANFD_GetFIFOTop</a>(CANFD0, 0UL, FIFONumber, &amp;rxBuffer)))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga3cbf3aa2185a5666c2d9dd7ff33dd64d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3cbf3aa2185a5666c2d9dd7ff33dd64d">&#9670;&nbsp;</a></span>Cy_CANFD_ExtractMsgFromRXBuffer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a> Cy_CANFD_ExtractMsgFromRXBuffer </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>rxFIFOMsg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>msgBufOrRxFIFONum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> const *&#160;</td>
          <td class="paramname"><em>rxBuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extracts one RX buffer or one FIFO buffer element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">rxFIFOMsg</td><td>The buffer to read: True for FIFO buffers and False for RX buffers.</td></tr>
    <tr><td class="paramname">msgBufOrRxFIFONum</td><td>The RX buffer element index or FIFO buffer number.</td></tr>
    <tr><td class="paramname">*rxBuffer</td><td>The Rx buffer structure in RAM.</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> allocated by the user. The structure is used during the CAN FD operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Reads one RX buffer element. */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> context = {0}; <span class="comment">/* This is a shared context structure unique for each channel</span></div><div class="line"><span class="comment">                                     * It must be global, initialized with Cy_CANFD_Init()</span></div><div class="line"><span class="comment">                                     */</span></div><div class="line">    uint8_t msgBufOrRxFIFONum = 0; <span class="comment">/* RX buffer element index or FIFO number*/</span></div><div class="line">    <span class="keywordtype">bool</span> rxFIFOMsg = <span class="keyword">false</span>; <span class="comment">/* True for FIFO buffers anf False for RX buffers */</span></div><div class="line">    </div><div class="line">    <span class="comment">/* The members of the rxBuffer structure */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r0__t.html">cy_stc_canfd_r0_t</a>  r0RxBuffer; <span class="comment">/* The R0 register structure of the RX buffer element */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r1__t.html">cy_stc_canfd_r1_t</a>  r1RxBuffer; <span class="comment">/* The R1 register structure of the RX buffer element */</span></div><div class="line">    uint32_t           rxData[CY_CANFD_DATA_ELEMENTS_MAX]; <span class="comment">/* The array to store RX data */</span></div><div class="line">    </div><div class="line">    <a class="code" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> rxBuffer =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .r0_f         */</span> &amp;r0RxBuffer,</div><div class="line">        <span class="comment">/* .r1_f         */</span> &amp;r1RxBuffer,</div><div class="line">        <span class="comment">/* .data_area_f  */</span> rxData</div><div class="line">    };</div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> != (<a class="code" href="group__group__canfd__functions.html#ga3cbf3aa2185a5666c2d9dd7ff33dd64d">Cy_CANFD_ExtractMsgFromRXBuffer</a>(CANFD0, 0UL, </div><div class="line">                                                     rxFIFOMsg, msgBufOrRxFIFONum,</div><div class="line">                                                     &amp;rxBuffer, &amp;context)))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gaac5ee07d35cc46c1fee20be22b489aea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaac5ee07d35cc46c1fee20be22b489aea">&#9670;&nbsp;</a></span>Cy_CANFD_AckRxBuf()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_CANFD_AckRxBuf </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>bufNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Acknowledges the data reading and makes the buffer element available for a next message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">bufNum</td><td>The RX buffer element index.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Reads one RX buffer element. */</span></div><div class="line">    uint32_t index = 0UL; <span class="comment">/* RX buffer element index */</span></div><div class="line">    <span class="keywordtype">bool</span> useFIFO = <span class="keyword">false</span>; <span class="comment">/* true - uses FIFO buffer, false - uses RX buffer */</span></div><div class="line">    uint32_t FIFOnumber = <a class="code" href="group__group__canfd__macros.html#ga456b963f846a7f3e4ad2818bf4cfcf1e">CY_CANFD_RX_FIFO0</a>; <span class="comment">/* FIFO number (0 or 1), if used */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> context = {0}; <span class="comment">/* This is a shared context structure unique for each channel</span></div><div class="line"><span class="comment">                                     * It must be global, initialized with Cy_CANFD_Init()</span></div><div class="line"><span class="comment">                                     */</span></div><div class="line">    </div><div class="line">    uint32_t address ; <span class="comment">/* The address of the RX buffer in Message RAM */</span></div><div class="line">    </div><div class="line">    <span class="comment">/* The members of the rxBuffer structure */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r0__t.html">cy_stc_canfd_r0_t</a>  r0RxBuffer; <span class="comment">/* The R0 register structure of the RX buffer element */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r1__t.html">cy_stc_canfd_r1_t</a>  r1RxBuffer; <span class="comment">/* The R1 register structure of the RX buffer element */</span></div><div class="line">    uint32_t           rxData[CY_CANFD_DATA_ELEMENTS_MAX]; <span class="comment">/* The array to store RX data */</span></div><div class="line">    </div><div class="line">    <a class="code" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> rxBuffer =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .r0_f         */</span> &amp;r0RxBuffer,</div><div class="line">        <span class="comment">/* .r1_f         */</span> &amp;r1RxBuffer,</div><div class="line">        <span class="comment">/* .data_area_f  */</span> rxData</div><div class="line">    };</div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span> (useFIFO)</div><div class="line">    {</div><div class="line">        address = <a class="code" href="group__group__canfd__functions.html#ga1d9cf5eec557299afea5738b9980acec">Cy_CANFD_CalcRxFifoAdrs</a>(CANFD0, 0UL, FIFOnumber, index, &amp;context);</div><div class="line">    }</div><div class="line">    <span class="keywordflow">else</span></div><div class="line">    {</div><div class="line">        address = <a class="code" href="group__group__canfd__functions.html#gace49624f024ac7f355d4ffcb3c13fd8a">Cy_CANFD_CalcRxBufAdrs</a>(CANFD0, 0UL, index, &amp;context);</div><div class="line">    }    </div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> == (<a class="code" href="group__group__canfd__functions.html#ga75e681807303412236e8c09f932b7d98">Cy_CANFD_GetRxBuffer</a>(CANFD0, 0UL, address, &amp;rxBuffer)))</div><div class="line">    {</div><div class="line">        <span class="keywordflow">if</span> (useFIFO)</div><div class="line">        {</div><div class="line">            <a class="code" href="group__group__canfd__functions.html#ga80916a77f80f254770c3f28b0a0631e9">Cy_CANFD_AckRxFifo</a>(CANFD0, 0UL, FIFOnumber);</div><div class="line">        }</div><div class="line">        <span class="keywordflow">else</span></div><div class="line">        {</div><div class="line">            <a class="code" href="group__group__canfd__functions.html#gaac5ee07d35cc46c1fee20be22b489aea">Cy_CANFD_AckRxBuf</a>(CANFD0, 0UL, index);</div><div class="line">        }</div><div class="line">    }</div><div class="line">    <span class="keywordflow">else</span></div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga80916a77f80f254770c3f28b0a0631e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga80916a77f80f254770c3f28b0a0631e9">&#9670;&nbsp;</a></span>Cy_CANFD_AckRxFifo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_CANFD_AckRxFifo </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>FIFOnumber</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Acknowledges the data reading and makes the buffer element available for a next message. </p>
<dl class="section note"><dt>Note</dt><dd>Do not use this function with <a class="el" href="group__group__canfd__functions.html#gad0948f630d4377b35112dc78968bf8ea" title="Extracts one RX FIFO Buffer element using the FIFO TOP register logic. ">Cy_CANFD_GetFIFOTop()</a>. FIFO top logic takes care on updating the FIFO read pointer buffer with hardware.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">FIFOnumber</td><td>The RX buffer element index.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Reads one RX buffer element. */</span></div><div class="line">    uint32_t index = 0UL; <span class="comment">/* RX buffer element index */</span></div><div class="line">    <span class="keywordtype">bool</span> useFIFO = <span class="keyword">false</span>; <span class="comment">/* true - uses FIFO buffer, false - uses RX buffer */</span></div><div class="line">    uint32_t FIFOnumber = <a class="code" href="group__group__canfd__macros.html#ga456b963f846a7f3e4ad2818bf4cfcf1e">CY_CANFD_RX_FIFO0</a>; <span class="comment">/* FIFO number (0 or 1), if used */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> context = {0}; <span class="comment">/* This is a shared context structure unique for each channel</span></div><div class="line"><span class="comment">                                     * It must be global, initialized with Cy_CANFD_Init()</span></div><div class="line"><span class="comment">                                     */</span></div><div class="line">    </div><div class="line">    uint32_t address ; <span class="comment">/* The address of the RX buffer in Message RAM */</span></div><div class="line">    </div><div class="line">    <span class="comment">/* The members of the rxBuffer structure */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r0__t.html">cy_stc_canfd_r0_t</a>  r0RxBuffer; <span class="comment">/* The R0 register structure of the RX buffer element */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__r1__t.html">cy_stc_canfd_r1_t</a>  r1RxBuffer; <span class="comment">/* The R1 register structure of the RX buffer element */</span></div><div class="line">    uint32_t           rxData[CY_CANFD_DATA_ELEMENTS_MAX]; <span class="comment">/* The array to store RX data */</span></div><div class="line">    </div><div class="line">    <a class="code" href="structcy__stc__canfd__rx__buffer__t.html">cy_stc_canfd_rx_buffer_t</a> rxBuffer =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .r0_f         */</span> &amp;r0RxBuffer,</div><div class="line">        <span class="comment">/* .r1_f         */</span> &amp;r1RxBuffer,</div><div class="line">        <span class="comment">/* .data_area_f  */</span> rxData</div><div class="line">    };</div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span> (useFIFO)</div><div class="line">    {</div><div class="line">        address = <a class="code" href="group__group__canfd__functions.html#ga1d9cf5eec557299afea5738b9980acec">Cy_CANFD_CalcRxFifoAdrs</a>(CANFD0, 0UL, FIFOnumber, index, &amp;context);</div><div class="line">    }</div><div class="line">    <span class="keywordflow">else</span></div><div class="line">    {</div><div class="line">        address = <a class="code" href="group__group__canfd__functions.html#gace49624f024ac7f355d4ffcb3c13fd8a">Cy_CANFD_CalcRxBufAdrs</a>(CANFD0, 0UL, index, &amp;context);</div><div class="line">    }    </div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> == (<a class="code" href="group__group__canfd__functions.html#ga75e681807303412236e8c09f932b7d98">Cy_CANFD_GetRxBuffer</a>(CANFD0, 0UL, address, &amp;rxBuffer)))</div><div class="line">    {</div><div class="line">        <span class="keywordflow">if</span> (useFIFO)</div><div class="line">        {</div><div class="line">            <a class="code" href="group__group__canfd__functions.html#ga80916a77f80f254770c3f28b0a0631e9">Cy_CANFD_AckRxFifo</a>(CANFD0, 0UL, FIFOnumber);</div><div class="line">        }</div><div class="line">        <span class="keywordflow">else</span></div><div class="line">        {</div><div class="line">            <a class="code" href="group__group__canfd__functions.html#gaac5ee07d35cc46c1fee20be22b489aea">Cy_CANFD_AckRxBuf</a>(CANFD0, 0UL, index);</div><div class="line">        }</div><div class="line">    }</div><div class="line">    <span class="keywordflow">else</span></div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gae0e9450addab2f45af99473022f32f59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae0e9450addab2f45af99473022f32f59">&#9670;&nbsp;</a></span>Cy_CANFD_ConfigChangesEnable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE <a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a> Cy_CANFD_ConfigChangesEnable </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enables the CPU write access to the protected configuration registers of the CAN FD block and sets the CAN FD block into the initialization state. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Enable the CPU Write access to the protected configuration registers */</span></div><div class="line"></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> != <a class="code" href="group__group__canfd__functions.html#gae0e9450addab2f45af99473022f32f59">Cy_CANFD_ConfigChangesEnable</a>(CANFD0, 0UL))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga1960f8d0f6ce39fc1ee0c51b02933fe4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1960f8d0f6ce39fc1ee0c51b02933fe4">&#9670;&nbsp;</a></span>Cy_CANFD_ConfigChangesDisable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE <a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a> Cy_CANFD_ConfigChangesDisable </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disables the CPU write access to the protected configuration registers of the CAN FD block and sets the CAN FD block into the Normal Operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Disables the CPU Write access to the protected configuration</span></div><div class="line"><span class="comment">     * registers of the CAN FD block.</span></div><div class="line"><span class="comment">     */</span></div><div class="line"></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> != <a class="code" href="group__group__canfd__functions.html#ga1960f8d0f6ce39fc1ee0c51b02933fe4">Cy_CANFD_ConfigChangesDisable</a>(CANFD0, 0UL))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga6e4fed4a894d0b61c38714569cc94f5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6e4fed4a894d0b61c38714569cc94f5c">&#9670;&nbsp;</a></span>Cy_CANFD_TestModeConfig()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_CANFD_TestModeConfig </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__group__canfd__enums.html#gac301ff6eab794c7f718822ef7c289483">cy_stc_canfd_test_mode_t</a>&#160;</td>
          <td class="paramname"><em>testMode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures test mode. </p>
<dl class="section note"><dt>Note</dt><dd>The <a class="el" href="group__group__canfd__functions.html#gae0e9450addab2f45af99473022f32f59">Cy_CANFD_ConfigChangesEnable</a> must be called before calling this function to enable the configuration changes.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">testMode</td><td><a class="el" href="group__group__canfd__enums.html#gac301ff6eab794c7f718822ef7c289483">cy_stc_canfd_test_mode_t</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Configures Test mode to use the external loop back to receive</span></div><div class="line"><span class="comment">     * the sent data back.</span></div><div class="line"><span class="comment">     */</span></div><div class="line"></div><div class="line">    <a class="code" href="group__group__canfd__functions.html#ga6e4fed4a894d0b61c38714569cc94f5c">Cy_CANFD_TestModeConfig</a>(CANFD0, 0UL, <a class="code" href="group__group__canfd__enums.html#ggac301ff6eab794c7f718822ef7c289483a2320cb167a40a073fccd1918771387c7">CY_CANFD_TEST_MODE_EXTERNAL_LOOP_BACK</a>);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gaec4fa4908250f50edd033262162695a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaec4fa4908250f50edd033262162695a6">&#9670;&nbsp;</a></span>Cy_CANFD_SetTDC()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_CANFD_SetTDC </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcy__stc__canfd__transceiver__delay__compensation__t.html">cy_stc_canfd_transceiver_delay_compensation_t</a> *&#160;</td>
          <td class="paramname"><em>tdcConfig</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the CAN FD transceiver delay compensation offset. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">*tdcConfig</td><td>The CAN FD transceiver delay compensation offset configuration. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaa623a5fe55cbb83fe63c099c5443cc7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa623a5fe55cbb83fe63c099c5443cc7b">&#9670;&nbsp;</a></span>Cy_CANFD_GetLastError()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t Cy_CANFD_GetLastError </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the value of Protocol Status Register (PSR). </p>
<p><br />
 Use the <a class="el" href="group__group__canfd__last__state__masks.html">Protocol Status Register (PSR) masks</a> to extract necessary fields from the register. <br />
 Use the <a class="el" href="group__group__canfd__enums.html#ga8f3d57cafe365ef6e8de050a9b987eea">cy_en_canfd_LEC_t</a> enumeration to interpret LEC and DLEC fields. <br />
 Use the <a class="el" href="group__group__canfd__enums.html#ga25bedb1e6fd90abd96302a83bc35a613">cy_en_canfd_PSR_ACT_t</a> enumeration to interpret the ACT field.</p>
<dl class="section note"><dt>Note</dt><dd>Protocol Status Register has reset on read fields. Reading the register will clear the bits PXE, RFDF, RBRS and RESI, and set DLEC[2:0] and LEC[2:0].</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Content of the Protocol Status Register (PSR). </dd></dl>

</div>
</div>
<a id="ga89c366a3feb3ef1cd0a3b9779fff718e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga89c366a3feb3ef1cd0a3b9779fff718e">&#9670;&nbsp;</a></span>Cy_CANFD_IrqHandler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_CANFD_IrqHandler </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>CAN FD (Status/Error/Rx/Tx) interrupt ISR. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> allocated by the user. The structure is used during the CAN FD operation for internal configuration and data retention. The user must not modify anything in this structure. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga8a1f6cffafdd899861203d50d24e7b3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8a1f6cffafdd899861203d50d24e7b3e">&#9670;&nbsp;</a></span>Cy_CANFD_Init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a> Cy_CANFD_Init </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcy__stc__canfd__config__t.html">cy_stc_canfd_config_t</a> *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the CAN FD module. </p>
<dl class="section note"><dt>Note</dt><dd>The function does not enable the Tx Event FIFO but reserves 10 Tx Event FIFO elements in Message RAM. </dd>
<dd>
The function enables the "Message stored to Rx Buffer", "Rx FIFO 1 New Message" and "Rx FIFO 0 New Message" interrupt events only. Other interrupts can be configured with the <a class="el" href="group__group__canfd__functions.html#ga054d85e42f3f2440743c981dbc52ed0a" title="Configures which bits of the interrupt request register can trigger an interrupt event. ">Cy_CANFD_SetInterruptMask()</a> function. </dd>
<dd>
If the channel was disabled, call Cy_CANFD_Enable before calling Cy_CANFD_Init. </dd>
<dd>
Call this function only after all debug messages reception is completed.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">*config</td><td>The pointer to the CAN FD configuration structure.</td></tr>
    <tr><td class="paramname">*context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> allocated by the user. The structure is used during the CAN FD operation for internal configuration and data retention. User must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Scenario:  Initialize the CAN FD block with predefined settings to:</span></div><div class="line"><span class="comment">    - Receive the frames with ID = 0x10 into RX buffer element #0 in Massage RAM;</span></div><div class="line"><span class="comment">    - Receive the frames with ID = 0x20 into RX buffer element #1 in Massage RAM;</span></div><div class="line"><span class="comment">    - Receive the frames with ID = 0x10010 into RX buffer element #2 in Massage RAM;</span></div><div class="line"><span class="comment">    - Receive the frames with ID = 0x10020 into RX buffer element #3 in Massage RAM;</span></div><div class="line"><span class="comment">    - Receive the frames with non-Matching Standard IDs into RX FIFO#0 in Massage RAM;</span></div><div class="line"><span class="comment">    - Receive the frames with non-Matching Extended IDs into RX FIFO#1 in Massage RAM;</span></div><div class="line"><span class="comment">    - Transmit two TX buffers.</span></div><div class="line"><span class="comment">    */</span></div><div class="line">    </div><div class="line"><span class="preprocessor">    #define MESSAGE_ID0          (0x00000001UL)</span></div><div class="line"><span class="preprocessor">    #define MESSAGE_ID1          (0x00000010UL)</span></div><div class="line"><span class="preprocessor">    #define MESSAGE_ID2          (0x00000020UL)</span></div><div class="line"><span class="preprocessor">    #define RX_BUFFER_ELEMENT_1  (0x0UL)</span></div><div class="line"><span class="preprocessor">    #define RX_BUFFER_ELEMENT_2  (0x1UL)</span></div><div class="line"></div><div class="line"><span class="preprocessor">    #define MESSAGE_ID3          (0x00010010UL)</span></div><div class="line"><span class="preprocessor">    #define MESSAGE_ID4          (0x00010020UL)</span></div><div class="line"><span class="preprocessor">    #define RX_BUFFER_ELEMENT_3  (0x2UL)</span></div><div class="line"><span class="preprocessor">    #define RX_BUFFER_ELEMENT_4  (0x3UL)</span></div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> context = {0}; <span class="comment">/* This is a shared context structure, it is unique for each channel.</span></div><div class="line"><span class="comment">                                     * It must be global</span></div><div class="line"><span class="comment">                                     */</span></div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__bitrate__t.html">cy_stc_canfd_bitrate_t</a> bitrateConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .prescaler     */</span> 10u - 1u,</div><div class="line">        <span class="comment">/* .timeSegment1  */</span> 5u - 1u,</div><div class="line">        <span class="comment">/* .timeSegment2  */</span> 2u - 1u,</div><div class="line">        <span class="comment">/* .syncJumpWidth */</span> 2u - 1u</div><div class="line">    };</div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__bitrate__t.html">cy_stc_canfd_bitrate_t</a> fastBitrateConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .prescaler     */</span> 5u - 1u,</div><div class="line">        <span class="comment">/* .timeSegment1  */</span> 5u - 1u,</div><div class="line">        <span class="comment">/* .timeSegment2  */</span> 2u - 1u,</div><div class="line">        <span class="comment">/* .syncJumpWidth */</span> 2u - 1u</div><div class="line">    };</div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__transceiver__delay__compensation__t.html">cy_stc_canfd_transceiver_delay_compensation_t</a> tdcConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .tdcEnabled      */</span> <span class="keyword">false</span>,</div><div class="line">        <span class="comment">/* .tdcOffset       */</span> 0,</div><div class="line">        <span class="comment">/* .tdcFilterWindow */</span> 0</div><div class="line">    };</div><div class="line"></div><div class="line">    <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="structcy__stc__id__filter__t.html">cy_stc_id_filter_t</a> stdIdFilters[] =</div><div class="line">    {</div><div class="line">        <span class="comment">/* stdIdFilter[0] */</span></div><div class="line">        {</div><div class="line">            <span class="comment">/* .sfid2 */</span> RX_BUFFER_ELEMENT_1,</div><div class="line">            <span class="comment">/* .sfid1 */</span> MESSAGE_ID1,</div><div class="line">            <span class="comment">/* .sfec  */</span> <a class="code" href="group__group__canfd__enums.html#ggae5fe195a7883e282b211bc54e10977f0a37e10c3b20326fbfd1dcd08b2616c582">CY_CANFD_SFEC_STORE_RX_BUFFER</a>,</div><div class="line">            <span class="comment">/* .sft   */</span> CY_CANFD_SFT_CLASSIC_FILTER</div><div class="line">        },</div><div class="line"></div><div class="line">        <span class="comment">/* stdIdFilter[1] */</span></div><div class="line">        {</div><div class="line">            <span class="comment">/* .sfid2 */</span> RX_BUFFER_ELEMENT_2,</div><div class="line">            <span class="comment">/* .sfid1 */</span> MESSAGE_ID2,</div><div class="line">            <span class="comment">/* .sfec  */</span> <a class="code" href="group__group__canfd__enums.html#ggae5fe195a7883e282b211bc54e10977f0a37e10c3b20326fbfd1dcd08b2616c582">CY_CANFD_SFEC_STORE_RX_BUFFER</a>,</div><div class="line">            <span class="comment">/* .sft   */</span> CY_CANFD_SFT_CLASSIC_FILTER</div><div class="line">        }</div><div class="line">    };</div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__f0__t.html">cy_stc_canfd_f0_t</a> filter0F0Config =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .efid1 */</span> MESSAGE_ID3,</div><div class="line">        <span class="comment">/* .efec  */</span> CY_CANFD_EFEC_STORE_RX_BUFFER</div><div class="line">    };</div><div class="line"></div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__f1__t.html">cy_stc_canfd_f1_t</a> filter0F1Config =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .efid2 */</span> RX_BUFFER_ELEMENT_3,</div><div class="line">        <span class="comment">/* .eft   */</span> CY_CANFD_EFT_CLASSIC_FILTER</div><div class="line">    };</div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__f0__t.html">cy_stc_canfd_f0_t</a> filter1F0Config =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .efid1 */</span> MESSAGE_ID4,</div><div class="line">        <span class="comment">/* .efec  */</span> CY_CANFD_EFEC_STORE_RX_BUFFER</div><div class="line">    };</div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__f1__t.html">cy_stc_canfd_f1_t</a> filter1F1Config =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .efid2 */</span> RX_BUFFER_ELEMENT_4,</div><div class="line">        <span class="comment">/* .eft   */</span> CY_CANFD_EFT_CLASSIC_FILTER</div><div class="line">    };</div><div class="line"></div><div class="line">    <span class="keyword">const</span> <a class="code" href="structcy__stc__extid__filter__t.html">cy_stc_extid_filter_t</a> extIdFilters[] =</div><div class="line">    {</div><div class="line">        <span class="comment">/* extIdFilter[0] */</span></div><div class="line">        {</div><div class="line">            <span class="comment">/* .f0_f */</span> &amp;filter0F0Config,</div><div class="line">            <span class="comment">/* .f1_f */</span> &amp;filter0F1Config</div><div class="line">        },</div><div class="line"></div><div class="line">        <span class="comment">/* extIdFilter[1] */</span></div><div class="line">        {</div><div class="line">            <span class="comment">/* .f0_f */</span> &amp;filter1F0Config,</div><div class="line">            <span class="comment">/* .f1_f */</span> &amp;filter1F1Config</div><div class="line">        }</div><div class="line">    };</div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__sid__filter__config__t.html">cy_stc_canfd_sid_filter_config_t</a> sidFiltersConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .numberOfSIDFilters */</span> <span class="keyword">sizeof</span>(stdIdFilters) / <span class="keyword">sizeof</span>(stdIdFilters[0]),</div><div class="line">        <span class="comment">/* .sidFilter          */</span> stdIdFilters,</div><div class="line">    };</div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__extid__filter__config__t.html">cy_stc_canfd_extid_filter_config_t</a> extidFiltersConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* numberOfEXTIDFilters */</span> <span class="keyword">sizeof</span>(extIdFilters) / <span class="keyword">sizeof</span>(extIdFilters[0]),</div><div class="line">        <span class="comment">/* extidFilter          */</span> extIdFilters,</div><div class="line">        <span class="comment">/* extIDANDMask         */</span> 0x1fffffffUL</div><div class="line">    };</div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__global__filter__config__t.html">cy_stc_canfd_global_filter_config_t</a> globalFilterConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .nonMatchingFramesStandard  */</span> <a class="code" href="group__group__canfd__enums.html#gga5ce2c01ca9806831dc539727d173e59ca9f84f229041f327f023e9cb8e38b3398">CY_CANFD_ACCEPT_IN_RXFIFO_0</a>,</div><div class="line">        <span class="comment">/* .nonMatchingFramesExtended  */</span> <a class="code" href="group__group__canfd__enums.html#gga5ce2c01ca9806831dc539727d173e59caa461ec9511646d934effbd9c71bd97f1">CY_CANFD_ACCEPT_IN_RXFIFO_1</a>,</div><div class="line">        <span class="comment">/* .rejectRemoteFramesStandard */</span> <span class="keyword">true</span>,</div><div class="line">        <span class="comment">/* .rejectRemoteFramesExtended */</span> <span class="keyword">true</span></div><div class="line">    };</div><div class="line"></div><div class="line">    <a class="code" href="structcy__en__canfd__fifo__config__t.html">cy_en_canfd_fifo_config_t</a> rxFifo0Config =</div><div class="line">    {</div><div class="line">        <span class="comment">/* mode                   */</span> <a class="code" href="group__group__canfd__enums.html#gga0017b4985b8b86ca85b9dca5d532803eacf888e2a229311116de20012e4fc7b05">CY_CANFD_FIFO_MODE_BLOCKING</a>,</div><div class="line">        <span class="comment">/* watermark              */</span> 1U,</div><div class="line">        <span class="comment">/* numberOfFifoElements   */</span> 2U,</div><div class="line">        <span class="comment">/* topPointerLogicEnabled */</span> <span class="keyword">false</span></div><div class="line">    };</div><div class="line"></div><div class="line">    <a class="code" href="structcy__en__canfd__fifo__config__t.html">cy_en_canfd_fifo_config_t</a> rxFifo1Config =</div><div class="line">    {</div><div class="line">        <span class="comment">/* mode                   */</span> <a class="code" href="group__group__canfd__enums.html#gga0017b4985b8b86ca85b9dca5d532803eacf888e2a229311116de20012e4fc7b05">CY_CANFD_FIFO_MODE_BLOCKING</a>,</div><div class="line">        <span class="comment">/* watermark              */</span> 4U,</div><div class="line">        <span class="comment">/* numberOfFifoElements   */</span> 5U,</div><div class="line">        <span class="comment">/* topPointerLogicEnabled */</span> <span class="keyword">false</span></div><div class="line">    };</div><div class="line"></div><div class="line">    <span class="keyword">const</span> <a class="code" href="structcy__stc__canfd__config__t.html">cy_stc_canfd_config_t</a> config =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .txCallback            */</span> NULL,</div><div class="line">        <span class="comment">/* .rxCallback            */</span> NULL,</div><div class="line">        <span class="comment">/* .errorCallback         */</span> NULL,</div><div class="line">        <span class="comment">/* .canFDMode             */</span> <span class="keyword">true</span>,</div><div class="line">        <span class="comment">/* .bitrate               */</span> &amp;bitrateConfig,</div><div class="line">        <span class="comment">/* .fastBitrate           */</span> &amp;fastBitrateConfig,</div><div class="line">        <span class="comment">/* .tdcConfig             */</span> &amp;tdcConfig,</div><div class="line">        <span class="comment">/* .sidFilterConfig       */</span> &amp;sidFiltersConfig,</div><div class="line">        <span class="comment">/* .extidFilterConfig     */</span> &amp;extidFiltersConfig,</div><div class="line">        <span class="comment">/* .globalFilterConfig    */</span> &amp;globalFilterConfig,</div><div class="line">        <span class="comment">/* .rxBufferDataSize      */</span> <a class="code" href="group__group__canfd__enums.html#gga597fe2f69a8484277fd481ac5384ca7ca2a6fe8e5944a3c017b15cce584d421ee">CY_CANFD_BUFFER_DATA_SIZE_64</a>,</div><div class="line">        <span class="comment">/* .rxFIFO1DataSize       */</span> <a class="code" href="group__group__canfd__enums.html#gga597fe2f69a8484277fd481ac5384ca7ca2a6fe8e5944a3c017b15cce584d421ee">CY_CANFD_BUFFER_DATA_SIZE_64</a>,</div><div class="line">        <span class="comment">/* .rxFIFO0DataSize       */</span> <a class="code" href="group__group__canfd__enums.html#gga597fe2f69a8484277fd481ac5384ca7ca2a6fe8e5944a3c017b15cce584d421ee">CY_CANFD_BUFFER_DATA_SIZE_64</a>,</div><div class="line">        <span class="comment">/* .txBufferDataSize      */</span> <a class="code" href="group__group__canfd__enums.html#gga597fe2f69a8484277fd481ac5384ca7ca2a6fe8e5944a3c017b15cce584d421ee">CY_CANFD_BUFFER_DATA_SIZE_64</a>,</div><div class="line">        <span class="comment">/* .rxFIFO0Config         */</span> &amp;rxFifo0Config,</div><div class="line">        <span class="comment">/* .rxFIFO1Config         */</span> &amp;rxFifo1Config,</div><div class="line">        <span class="comment">/* .noOfRxBuffers         */</span> 0x4U,</div><div class="line">        <span class="comment">/* .noOfTxBuffers         */</span> 0x2U,</div><div class="line">        <span class="comment">/* .messageRAMaddress     */</span> CY_CAN0MRAM_BASE,</div><div class="line">        <span class="comment">/* .messageRAMsize        */</span> 8192U</div><div class="line">    };</div><div class="line"></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> != <a class="code" href="group__group__canfd__functions.html#ga8a1f6cffafdd899861203d50d24e7b3e">Cy_CANFD_Init</a> (CANFD0, 0U, &amp;config, &amp;context))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga0849b023b3b145ede68d057561a2aa32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0849b023b3b145ede68d057561a2aa32">&#9670;&nbsp;</a></span>Cy_CANFD_DeInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a> Cy_CANFD_DeInit </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>De-initializes the CAN FD block, returns registers values to default. </p>
<dl class="section note"><dt>Note</dt><dd>Do not call Cy_CANFD_Disable before Cy_CANFD_DeInit. </dd>
<dd>
Call this function only after all debug messages reception is completed.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">*context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> allocated by the user. The structure is used during the CAN FD operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario: The CAN FD block is initialized/working and then no longer used or needs to be reset. */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> context = {0}; <span class="comment">/* This is a shared context structure, it is unique for each channel.</span></div><div class="line"><span class="comment">                                     * It must be global</span></div><div class="line"><span class="comment">                                     */</span></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> != <a class="code" href="group__group__canfd__functions.html#ga0849b023b3b145ede68d057561a2aa32">Cy_CANFD_DeInit</a> (CANFD0, 0UL, &amp;context))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gadf8e92c666e0cc959876d4cfbc904534"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadf8e92c666e0cc959876d4cfbc904534">&#9670;&nbsp;</a></span>Cy_CANFD_TransmitTxBuffer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a> Cy_CANFD_TransmitTxBuffer </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Starts transmission of the message prepared with <a class="el" href="group__group__canfd__functions.html#ga78b3020a4e915f2b158d2a04afc0f3f1" title="Updates the T0 and T1 Tx buffer element parameters in Message RAM and copies data from cy_stc_canfd_t...">Cy_CANFD_TxBufferConfig()</a>. </p>
<p>Transmits the message immediately. Function CanFD_Init() must be called before setting up the identifier and enabling this message buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">index</td><td>Message buffer index (0-31).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  The TX buffer is configured with Cy_CANFD_TxBufferConfig() </span></div><div class="line"><span class="comment">     * and a message is ready to be sent. </span></div><div class="line"><span class="comment">     */</span></div><div class="line">     </div><div class="line">    uint8_t index = 0u; <span class="comment">/* TX buffer index (max 31u) */</span></div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> != <a class="code" href="group__group__canfd__functions.html#gadf8e92c666e0cc959876d4cfbc904534">Cy_CANFD_TransmitTxBuffer</a>(CANFD0, 0UL, index))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga077680b35c13481998c73e426129a91f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga077680b35c13481998c73e426129a91f">&#9670;&nbsp;</a></span>Cy_CANFD_UpdateAndTransmitMsgBuffer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a> Cy_CANFD_UpdateAndTransmitMsgBuffer </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcy__stc__canfd__tx__buffer__t.html">cy_stc_canfd_tx_buffer_t</a> *&#160;</td>
          <td class="paramname"><em>txBuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> const *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Updates the T0 and T1 Tx buffer element parameters in Message RAM and copies data from <a class="el" href="structcy__stc__canfd__tx__buffer__t.html" title="Tx buffer register. ">cy_stc_canfd_tx_buffer_t</a> structure to Message RAM. </p>
<p>Transmits the message immediately. Function CanFD_Init() must be called before setting up the identifier and enabling this message buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">*txBuffer</td><td>The Tx Buffer configuration structure.</td></tr>
    <tr><td class="paramname">index</td><td>the message buffer index (0-31).</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> allocated by the user. The structure is used during the CAN FD operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Configure a transmit buffer for the CAN FD transmit operation */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__context__t.html">cy_stc_canfd_context_t</a> context = {0}; <span class="comment">/* This is a shared context structure, it is unique for each channel.</span></div><div class="line"><span class="comment">                                     * It must be global</span></div><div class="line"><span class="comment">                                     */</span></div><div class="line">    uint8_t index = 0U;  <span class="comment">/* Tx Buffer Element number */</span></div><div class="line">    <a class="code" href="structcy__stc__canfd__t0__t.html">cy_stc_canfd_t0_t</a> t0fConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .id  */</span> 0x00000055UL,</div><div class="line">        <span class="comment">/* .rtr */</span> <a class="code" href="group__group__canfd__enums.html#gga9dc2150b5a115fd87cd60f538f7281ceac797e947012ac4b5d191f67b5095682c">CY_CANFD_RTR_DATA_FRAME</a>,</div><div class="line">        <span class="comment">/* .xtd */</span> <a class="code" href="group__group__canfd__enums.html#gga511e4ae64e16189bfe2e5828ae2d9f25aba189a4f427a087b73a3fd75a80f19ee">CY_CANFD_XTD_STANDARD_ID</a>,</div><div class="line">        <span class="comment">/* .esi */</span> CY_CANFD_ESI_ERROR_PASSIVE</div><div class="line">    };</div><div class="line"></div><div class="line">    <a class="code" href="structcy__stc__canfd__t1__t.html">cy_stc_canfd_t1_t</a> t1fConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .dlc */</span> 15U,</div><div class="line">        <span class="comment">/* .brs */</span> <span class="keyword">true</span>,</div><div class="line">        <span class="comment">/* .fdf */</span> <a class="code" href="group__group__canfd__enums.html#gga9a9a243726110708a6e61d77b7a86d1ea0053337533518903d9fa1ec0729a22d2">CY_CANFD_FDF_CAN_FD_FRAME</a>,</div><div class="line">        <span class="comment">/* .efc */</span> <span class="keyword">false</span>,</div><div class="line">        <span class="comment">/* .mm  */</span> 0UL</div><div class="line">    };</div><div class="line">    uint32_t data[16] =</div><div class="line">    {</div><div class="line">            0x00000000UL, 0x11111111UL, 0x22222222UL, 0x33333333UL,</div><div class="line">            0x44444444UL, 0x55555555UL, 0x66666666UL, 0x77777777UL,</div><div class="line">            0x88888888UL, 0x99999999UL, 0xAAAAAAAAUL, 0xBBBBBBBBUL,</div><div class="line">            0xCCCCCCCCUL, 0xDDDDDDDDUL, 0xEEEEEEEEUL, 0xFFFFFFFFUL</div><div class="line">    };</div><div class="line">    <span class="keyword">const</span> <a class="code" href="structcy__stc__canfd__tx__buffer__t.html">cy_stc_canfd_tx_buffer_t</a> txBufferConfig =</div><div class="line">    {</div><div class="line">        <span class="comment">/* .t0_f */</span> &amp;t0fConfig,</div><div class="line">        <span class="comment">/* .t1_f */</span> &amp;t1fConfig,</div><div class="line">        <span class="comment">/* data_area_f */</span> data</div><div class="line">    };</div><div class="line"></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__canfd__enums.html#gga8e8bd7856fdc3566bbe2d0c43270c187a0835f4671848804d56b8d29607a5c3a4">CY_CANFD_SUCCESS</a> != <a class="code" href="group__group__canfd__functions.html#ga077680b35c13481998c73e426129a91f">Cy_CANFD_UpdateAndTransmitMsgBuffer</a>(CANFD0, 0UL, &amp;txBufferConfig, index, &amp;context))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga5c297d07dfd4185ae5d83559a3d4649e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5c297d07dfd4185ae5d83559a3d4649e">&#9670;&nbsp;</a></span>Cy_CANFD_GetTxBufferStatus()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__canfd__enums.html#gacbbb27d497c2038e14006f059b5a9705">cy_en_canfd_tx_buffer_status_t</a> Cy_CANFD_GetTxBufferStatus </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the status of the CAN FD Tx buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">index</td><td>Message buffer index (0-31).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__canfd__enums.html#ga8e8bd7856fdc3566bbe2d0c43270c187">cy_en_canfd_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Checks if the buffer was transmitted. */</span></div><div class="line">    </div><div class="line">    uint8_t index = 0u; <span class="comment">/* TX buffer index (max 31u) */</span></div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span> (<a class="code" href="group__group__canfd__enums.html#ggacbbb27d497c2038e14006f059b5a9705a79db757e324196cbc5239f0fa3967bdc">CY_CANFD_TX_BUFFER_TRANSMIT_OCCURRED</a> == <a class="code" href="group__group__canfd__functions.html#ga5c297d07dfd4185ae5d83559a3d4649e">Cy_CANFD_GetTxBufferStatus</a>(CANFD0, 0UL, index))</div><div class="line">    {</div><div class="line">        <span class="comment">/* The buffer with index 0 was transmitted */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga4e020a36639bbf87de5f9c3dfe92d2a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4e020a36639bbf87de5f9c3dfe92d2a0">&#9670;&nbsp;</a></span>Cy_CANFD_GetInterruptStatus()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE uint32_t Cy_CANFD_GetInterruptStatus </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a status of CAN FD interrupt requests. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint32_t The bit mask of the Interrupt Status. Valid masks can be found in <a class="el" href="group__group__canfd__rx__interrupt__masks.html">RX Interrupt masks</a>, <a class="el" href="group__group__canfd__tx__interrupt__masks.html">TX Interrupt masks</a> and <a class="el" href="group__group__canfd__error__interrupt__masks.html">Error Interrupt masks</a>.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Checks for a new message in the RX buffer. */</span></div><div class="line"></div><div class="line">    uint32_t status;</div><div class="line">    status = <a class="code" href="group__group__canfd__functions.html#ga4e020a36639bbf87de5f9c3dfe92d2a0">Cy_CANFD_GetInterruptStatus</a>(CANFD0, 0UL);</div><div class="line">    <span class="keywordflow">if</span> (0 != (status &amp; <a class="code" href="group__group__canfd__rx__interrupt__masks.html#gae3e730b5241a4eb270275f7e429badc8">CY_CANFD_RX_BUFFER_NEW_MESSAGE</a>))</div><div class="line">        {</div><div class="line">            <span class="comment">/* Process the received message */</span></div><div class="line">        }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga3bcb0dc21a31e9a53996166dad6eb55a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3bcb0dc21a31e9a53996166dad6eb55a">&#9670;&nbsp;</a></span>Cy_CANFD_ClearInterrupt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_CANFD_ClearInterrupt </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears CAN FD interrupts by setting each bit. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">status</td><td>The bitmask of statuses to clear. Valid masks can be found in <a class="el" href="group__group__canfd__rx__interrupt__masks.html">RX Interrupt masks</a>, <a class="el" href="group__group__canfd__tx__interrupt__masks.html">TX Interrupt masks</a> and <a class="el" href="group__group__canfd__error__interrupt__masks.html">Error Interrupt masks</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Clears all RX interrupts by setting corresponding bits to 1. */</span></div><div class="line">    </div><div class="line">    uint32_t status =  (CY_CANFD_RX_BUFFER_NEW_MESSAGE |  <span class="comment">/* Message stored to Rx Buffer */</span></div><div class="line">                        <a class="code" href="group__group__canfd__rx__interrupt__masks.html#gabfc42300386c411764757afe16d51d21">CY_CANFD_RX_FIFO_1_NEW_MESSAGE</a> | <span class="comment">/* Rx FIFO 1 New Message */</span></div><div class="line">                        <a class="code" href="group__group__canfd__rx__interrupt__masks.html#ga5f6b954ff4db0a8324fe186547b395d0">CY_CANFD_RX_FIFO_0_NEW_MESSAGE</a>); <span class="comment">/* Rx FIFO 0 New Message */</span> </div><div class="line">    </div><div class="line">    <a class="code" href="group__group__canfd__functions.html#ga3bcb0dc21a31e9a53996166dad6eb55a">Cy_CANFD_ClearInterrupt</a>(CANFD0, 0UL, status);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga7dfc5fdcdf173c1016b25dbba60a1f57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7dfc5fdcdf173c1016b25dbba60a1f57">&#9670;&nbsp;</a></span>Cy_CANFD_GetInterruptMask()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE uint32_t Cy_CANFD_GetInterruptMask </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns an interrupt mask. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint32_t The bit field determines which status changes can cause an interrupt. Valid masks can be found in <a class="el" href="group__group__canfd__rx__interrupt__masks.html">RX Interrupt masks</a>, <a class="el" href="group__group__canfd__tx__interrupt__masks.html">TX Interrupt masks</a> and <a class="el" href="group__group__canfd__error__interrupt__masks.html">Error Interrupt masks</a>.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Checks if the RX buffer interrupt is enabled. */</span></div><div class="line"></div><div class="line">    <span class="keywordflow">if</span> (0 != (<a class="code" href="group__group__canfd__functions.html#ga7dfc5fdcdf173c1016b25dbba60a1f57">Cy_CANFD_GetInterruptMask</a>(CANFD0, 0UL) &amp; CY_CANFD_RX_BUFFER_NEW_MESSAGE))</div><div class="line">    {</div><div class="line">        <span class="comment">/* The RX buffer interrupt is enabled */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga054d85e42f3f2440743c981dbc52ed0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga054d85e42f3f2440743c981dbc52ed0a">&#9670;&nbsp;</a></span>Cy_CANFD_SetInterruptMask()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_CANFD_SetInterruptMask </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interrupt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures which bits of the interrupt request register can trigger an interrupt event. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">interrupt</td><td>The bit field determines which status changes can cause an interrupt. Valid masks can be found in <a class="el" href="group__group__canfd__rx__interrupt__masks.html">RX Interrupt masks</a>, <a class="el" href="group__group__canfd__tx__interrupt__masks.html">TX Interrupt masks</a> and <a class="el" href="group__group__canfd__error__interrupt__masks.html">Error Interrupt masks</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Enables the interrupts from the RX buffer, RX FIFO 0 and RX FIFO 1. */</span></div><div class="line"></div><div class="line">    uint32_t status =  (CY_CANFD_RX_BUFFER_NEW_MESSAGE |  <span class="comment">/* Message stored to Rx Buffer */</span></div><div class="line">                        <a class="code" href="group__group__canfd__rx__interrupt__masks.html#gabfc42300386c411764757afe16d51d21">CY_CANFD_RX_FIFO_1_NEW_MESSAGE</a> | <span class="comment">/* Rx FIFO 1 New Message */</span></div><div class="line">                        <a class="code" href="group__group__canfd__rx__interrupt__masks.html#ga5f6b954ff4db0a8324fe186547b395d0">CY_CANFD_RX_FIFO_0_NEW_MESSAGE</a>); <span class="comment">/* Rx FIFO 0 New Message */</span> </div><div class="line">    </div><div class="line">    <a class="code" href="group__group__canfd__functions.html#ga054d85e42f3f2440743c981dbc52ed0a">Cy_CANFD_SetInterruptMask</a>(CANFD0, 0UL, status);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gad10ec138779841932a2c16d3bbb66f13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad10ec138779841932a2c16d3bbb66f13">&#9670;&nbsp;</a></span>Cy_CANFD_GetInterruptLine()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE uint32_t Cy_CANFD_GetInterruptLine </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the interrupt signals assigned to the line m_ttcan_int0 or m_ttcan_int1. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint32_t The mask where 1 corresponds to the interrupt signals assigned to the line m_ttcan_int1 and 0 corresponds to m_ttcan_int0. Valid masks can be found in <a class="el" href="group__group__canfd__rx__interrupt__masks.html">RX Interrupt masks</a>, <a class="el" href="group__group__canfd__tx__interrupt__masks.html">TX Interrupt masks</a> and <a class="el" href="group__group__canfd__error__interrupt__masks.html">Error Interrupt masks</a>.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Checks if Transmission Completed Interrupt uses the line m_ttcan_int1. */</span></div><div class="line">    </div><div class="line">    uint32_t interruptLine;</div><div class="line">    </div><div class="line">    interruptLine = <a class="code" href="group__group__canfd__functions.html#gad10ec138779841932a2c16d3bbb66f13">Cy_CANFD_GetInterruptLine</a>(CANFD0, 0UL);</div><div class="line">    </div><div class="line">    <span class="keywordflow">if</span> (0 != (interruptLine &amp; <a class="code" href="group__group__canfd__tx__interrupt__masks.html#ga0e4b83e01513b8e8b453a7537991e38f">CY_CANFD_TRANSMISSION_COMPLETE</a>))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Transmission Completed Interrupt uses the line m_ttcan_int1 */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga4f70384d4189cb8a2c95558844b3ad32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4f70384d4189cb8a2c95558844b3ad32">&#9670;&nbsp;</a></span>Cy_CANFD_SetInterruptLine()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_CANFD_SetInterruptLine </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interruptLineMask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the bits of the Interrupt Line Select Register to assign the interrupt signal to the line m_ttcan_int0 or m_ttcan_int1. </p>
<p>Bit = 0: The interrupt assigned to the interrupt line m_ttcan_int0, bit = 1: The interrupt assigned to the interrupt line m_ttcan_int1.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">interruptLineMask</td><td>The mask where 1 corresponds to the interrupt signals assigned to the line m_ttcan_int1 and 0 corresponds to m_ttcan_int0. Valid masks can be found in <a class="el" href="group__group__canfd__rx__interrupt__masks.html">RX Interrupt masks</a>, <a class="el" href="group__group__canfd__tx__interrupt__masks.html">TX Interrupt masks</a> and <a class="el" href="group__group__canfd__error__interrupt__masks.html">Error Interrupt masks</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Sets Transmission Completed Interrupt to the interrupt </span></div><div class="line"><span class="comment">     * line m_ttcan_int1. </span></div><div class="line"><span class="comment">     */</span></div><div class="line"></div><div class="line">    <a class="code" href="group__group__canfd__functions.html#ga4f70384d4189cb8a2c95558844b3ad32">Cy_CANFD_SetInterruptLine</a>(CANFD0, 0UL,  <a class="code" href="group__group__canfd__functions.html#gad10ec138779841932a2c16d3bbb66f13">Cy_CANFD_GetInterruptLine</a>(CANFD0, 0UL) |</div><div class="line">                              CY_CANFD_TRANSMISSION_COMPLETE);</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga19cf470ba6a21f7bb547a49b5a64dccb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga19cf470ba6a21f7bb547a49b5a64dccb">&#9670;&nbsp;</a></span>Cy_CANFD_IsInterruptLineEnabled()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE bool Cy_CANFD_IsInterruptLineEnabled </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interruptLineMask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks whether Interrupt Line 0, Interrupt Line 1 or both are enabled. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">interruptLineMask</td><td>The bit mask to check which interrupt line is enabled. Can be CY_CANFD_INTERRUPT_LINE_0_EN, CY_CANFD_INTERRUPT_LINE_1_EN or (CY_CANFD_INTERRUPT_LINE_0_EN | CY_CANFD_INTERRUPT_LINE_1_EN)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool The bit mask of the enabled interrupt lines.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Checks if the interrupt line m_ttcan_int0 is enabled. */</span></div><div class="line"><span class="preprocessor">    #define INT_LINE_MASK CY_CANFD_INTERRUPT_LINE_0_EN</span></div><div class="line">    <span class="keywordflow">if</span> (<a class="code" href="group__group__canfd__functions.html#ga19cf470ba6a21f7bb547a49b5a64dccb">Cy_CANFD_IsInterruptLineEnabled</a>(CANFD0, 0UL, INT_LINE_MASK))</div><div class="line">    {</div><div class="line">       <span class="comment">/* The interrupt line m_ttcan_int0 is enabled */</span></div><div class="line">    }</div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gaf1448953e987797150f94a0a04314eae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf1448953e987797150f94a0a04314eae">&#9670;&nbsp;</a></span>Cy_CANFD_EnableInterruptLine()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_CANFD_EnableInterruptLine </td>
          <td>(</td>
          <td class="paramtype">CANFD_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>chan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interruptLineMask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures which interrupt line is enabled (Interrupt Line 0, Interrupt Line 1 or both). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">*base</td><td>The pointer to a CAN FD instance.</td></tr>
    <tr><td class="paramname">chan</td><td>The CAN FD channel number.</td></tr>
    <tr><td class="paramname">interruptLineMask</td><td>The bit mask whose bits define interrupt lines to enable or disable.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line">    <span class="comment">/* Scenario:  Enables the interrupt line m_ttcan_int0. */</span></div><div class="line"></div><div class="line">    <a class="code" href="group__group__canfd__functions.html#gaf1448953e987797150f94a0a04314eae">Cy_CANFD_EnableInterruptLine</a>(CANFD0, 0UL, <a class="code" href="group__group__canfd__interrupt__line__masks.html#ga32d15217827dd27d9d13057a5323d0a7">CY_CANFD_INTERRUPT_LINE_0_EN</a>);</div></div><!-- fragment --></dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>MTB CAT1 Peripheral driver library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
